我正在尝试从另一个 Controller 内的 Controller 访问对象。 例如:
Controller 1
MyApp.controller('workController', function ($scope) {
$scope.xList = [
{name:'test', type:'web', link:'test', image:'iso.jpg'},
{name:'test', type:'web', link:'test', image:'iso.jpg'},
];
});
Controller 2:如何从 Controller 1 控制台记录对象?
MyApp.controller('projectController', function ($scope) {
console.log('$scope.xList[1]);
});
我也尝试了 $scope.workController.xList[1] 但没有成功。
请帮忙
最佳答案
Angular Controller 的目的是将 View 和服务结合在一起。出于这个原因,他们并不是真的要直接互相交谈。如果您需要在 Controller 之间进行通信,您可以使用共享服务来完成。
MyApp.controller('workController', function($scope, SharedService){
SharedService.set([
{name:'test', type:'web', link:'test', image:'iso.jpg'},
{name:'test', type:'web', link:'test', image:'iso.jpg'},
]);
});
MyApp.controller('projectController', function($scope, SharedService){
console.log(SharedService.get());
});
MyApp.service('SharedService', function(){
var self = {
get: function(data){
return self._data;
},
set: function(data){
self._data = data
}
};
return {
get: self.get,
set: self.set
}
});
关于javascript - 如何从 Angular 中的另一个 Controller 内的 Controller 访问对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30992169/