我可能把變量的服務,然後注入到這一個包裹的角度控制器。你想要訪問這些'全局'變量的任何其他控制器將嵌套在包裝控制器下,從而繼承變量。
var app = angular.module("app", []);
app.service("globVars", function() {
var vars = {};
vars.someVar = "a";
vars.someOtherVar = "b";
return vars;
});
app.controller("WrappingCtrl", function ($scope, globVars) {
$scope.globVars = globVars;
});
app.controller("NestedCtrl", function ($scope) {
console.log($scope.globVars.someVar); // => "a"
});
<html ng-app="app">
<div id="wrapper" ng-controller="WrappingCtrl">
<div class="nested" ng-controller="NestedCtrl">
{{globVars.someVar}}
</div>
</div>
</html>
是的,這正是我的想法和它的工作原理(儘管使用工廠,而不是服務)。非常感謝! – Gerard
不用擔心,我很高興它爲你工作:) –
包裝控制器不是一個好主意......相反,我寧願只在需要使用變量的地方注入服務......不是每個部分的應用程序必須知道這些變量 – doodeec