chr*_*ris 6 javascript angularjs angularjs-scope
我是Angularjs的新手.
我创建了一个Angularjs服务来存储一些"全局"变量.它看起来像这样:
.factory('authVars', function() {
var sdo = {
baseBackendUrl: 'https://www.myurl.com',
user: '',
password: '',
token: '',
isLogged: false
};
return sdo;
})
Run Code Online (Sandbox Code Playgroud)
现在我想在不同的控制器中使用ng-show/hide.
<div class="alert" ng-hide="authVars.isLogged">
<strong>whatEver</strong>
</div>
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?或者将它存储在rootScope中更好?
为了一点帮助,我将非常感激;-) thx
只需将您的工厂注册到每个控制器即可。这是代码重用的目标服务。服务就像实用程序,您编写一次就可以在许多控制器中使用它
JS
myApp.factory('authVars', function() {
var sdo = {
baseBackendUrl: 'https://www.myurl.com',
user: '',
password: '',
token: '',
isLogged: false
};
return {
getSdo: function() {
return sdo;
}
};
})
function MyCtrl($scope, authVars) {
$scope.authVars = authVars.getSdo();
}
Run Code Online (Sandbox Code Playgroud)
演示Fiddle