我有两个独立的div,如下面的代码所示。我要做的是从第一个div更新Controller,然后使用相同的控制器检测第二个div中的更改。当我按下按钮时,我就在这里'在控制台上打印,但第二个div中的数据不会更新。它应该改为"点击"。
<html ng-app="app">
<head>
<title></title>
</head>
<body>
<h1>Divs below should not be nested</h1>
<div id="notNested1" ng-controller="Controller1">
<button ng-click="buttonClick()">Click me</button>
</div>
<div id="notNested2" ng-controller="Controller1">
<p>{{paragraph}}</p>
</div>
<script type="text/javascript" src="libs/angular/angular.js"></script>
<script>
var app = angular.module('app', []);
function Controller1($scope) {
$scope.paragraph = 'initial';
$scope.buttonClick = function () {
console.log('i am here');
$scope.paragraph = "clicked";
};
}
</script>
</body>
</html>
如何解决此问题?这也有什么问题?是因为两个div的$ scope不同吗?
由于
答案 0 :(得分:1)
您应该使用服务/工厂共享数据。
你也可以用那里的数据创建一个父控制器,并从子控制器引用它,但共享服务似乎更好。
是的,您有两个不同的范围,因此它们不会相互影响。