var parent = angular.module('parent', ['swxSessionStorage']);
parent.controller('parent', [
$scope.idMenu = [{
label : "id1",
value : 1
}]
$scope.name=[abc,def];
/**
* Calling child controller
*/
var childView = $scope.$new(true);
$controller('child',{$scope:childView});
$scope.someMetod = function(){
childView.getChildData();
}
}
--------------
parent.controller('child', [
$scope.getChildData = function(){
$scope.idMenu.value
}
我无法在Child控制器中访问父$ scope.idMenu?
但我能够访问$ scope.name,这只是一个数组,但我无法访问JsonArray。
可能是什么原因?
答案 0 :(得分:1)
在父控制器中
svn switch --relocate
在子控制器中
$scope.$broadcast('event_name', function (){
//action on event
});
答案 1 :(得分:0)
最好的方法是使用服务。
app.service('dataService', function() {
var dataList = [];
function addData(data) {
dataList.push(data);
};
function getData() {
return dataList;
};
return {
add: addData,
get: getData
};
});
在您的父控制器中,通过服务存储信息:
app.controller('parent', function($scope, dataService) {
$scope.addMyData = function(obj) {
dataService.addData(obj);
};
});
在子控制器中,通过服务检索信息:
app.controller('child', function($scope, dataService) {
$scope.products = dataService.getData();
});
您不能将$ scope注入服务,但可以存储数据。