我在AngluarJS中有一个控制器定义如下:
'use strict';
var app = angular.module('app');
app.controller('AppCtrl', ['sth',
function (sth) {
this.inverse = false;
}
]);
这里是路线deffinition:
$stateProvider.
state('app', {
abstract: true,
templateUrl: 'app/views/layout.html',
controller: 'AppCtrl',
controllerAs: 'app',
resolve: {}
}).
state('app.settings', {
abstract: true,
url: '/settings',
template: '<ui-view/>',
onEnter: function () {
}
});
如何在app.settings route中从AppCtrl访问逆变量?
答案 0 :(得分:0)
如果您想在两个控制器之间共享数据,那么服务/工厂是您最好的选择。下面是一个如何操作的示例。我是自由编写的,所以可能存在语法错误,但你明白了。
app.controller('AppCtrl', ['sth', 'SharedData',
function (sth, SharedData) {
SharedData.inverse = false;
}
]);
app.factory('SharedDate', function() {
var data = {
inverse: true // or whatever default value you want to set
};
return data;
})
现在,您可以在任何想要使用该数据的控制器中注入SharedData工厂。