Angularjs 在两个子控制器之间共享父控制器的数据
我试图在两个控制器(child1和child2)之间共享数据,这两个控制器是一个公共控制器(父控制器)的子控制器。 index.html是:Angularjs 在两个子控制器之间共享父控制器的数据,angularjs,parent-child,controllers,Angularjs,Parent Child,Controllers,我试图在两个控制器(child1和child2)之间共享数据,这两个控制器是一个公共控制器(父控制器)的子控制器。 index.html是: <div ng-controller="parent"> <ul> <p>Parent controller</p> <li ng-repeat="item in items"> {{item.id}} </li>
<div ng-controller="parent">
<ul>
<p>Parent controller</p>
<li ng-repeat="item in items">
{{item.id}}
</li>
</ul>
<div ng-controller="child1">
<ul>
<p>First DIV :</p>
<li ng-repeat="item in items">
{{item.id}}
</li>
</ul>
</div>
<div ng-controller="child2">
<ul>
<p>Second DIV :</p>
<li ng-repeat="item in items">
{{item.id}}
</li>
</ul>
</div>
</div>
但是页面上没有显示任何内容。此代码有什么问题?使用angular的
$timeout
服务,而不是setTimeout:
myApp.controller('parent',['$scope','$timeout', function($scope, $timeout) {
$scope.items = [
{'id':1},
{'id':2},
{'id':3},
{'id':4}
];
$scope.items.push({'id':10});
$scope.myfun = function() {
$timeout(function(){
$scope.items.push({'id':20});
alert("inserting 20....!");
},3000);
}
$scope.myfun();
}]);
可能是您忘记了ng应用程序的属性,请等待回复。我已经在标签中指定了ng app=“myApp”。你能把你的代码放到plnkr.co上并给我们一个链接吗?
应该是
是。他们肯定会的。谢谢你@CodeHater。只是出于好奇,为什么你的名字叫CodeHater。。。。??!!!!哈哈哈!因为我是一个:D
myApp.controller('parent',['$scope','$timeout', function($scope, $timeout) {
$scope.items = [
{'id':1},
{'id':2},
{'id':3},
{'id':4}
];
$scope.items.push({'id':10});
$scope.myfun = function() {
$timeout(function(){
$scope.items.push({'id':20});
alert("inserting 20....!");
},3000);
}
$scope.myfun();
}]);