我想有一個帶有未讀消息數的引導程序導航選項卡。 此外,在消息頁面上,我需要顯示當前消息並在每次詢問時刪除它們。 問題是它看起來在範圍中的值沒有爲第二個div更改。我用演示製作了一款笨蛋 - 問題在於第二個實例未按預期更新。我錯過了什麼?新角度。謝謝。使用相同的角度控制器在同一頁上的幾個地方
http://plnkr.co/edit/O2ZduEP5JDkN219jXiNI
我想有一個帶有未讀消息數的引導程序導航選項卡。 此外,在消息頁面上,我需要顯示當前消息並在每次詢問時刪除它們。 問題是它看起來在範圍中的值沒有爲第二個div更改。我用演示製作了一款笨蛋 - 問題在於第二個實例未按預期更新。我錯過了什麼?新角度。謝謝。使用相同的角度控制器在同一頁上的幾個地方
http://plnkr.co/edit/O2ZduEP5JDkN219jXiNI
首先 - 你創建兩個AppController
有不同的範圍:
<body ng-controller="AppController"> <!-- here -->
{{message}}
<button type="button" ng-click="changeMe()">Click me</button>
<div ng-controller="AppController"> <!-- and here -->
<span>Second instance:</span>
<span>{{message}}</span>
</div>
</body>
當您單擊按鈕僅message
在第一個範圍將得到更新。我不知道這是否是有意的。如果你想要兩個範圍,你應該使用共享資源並更新它,否則你可以刪除第二個控制器。
您也有一個錯誤在你clickMe
功能:
$scope.changeMe = function() {
$scope.message = "changed";
// $scope.changeMe is triggered from ng-click, which is wrapped in an $apply
// the following line will there cause an "Error: $apply already in progress" exception
$scope.$apply();
};
謝謝您的明確解釋! – Konstantin
考慮到提取與重複使用HTML的一部分邏輯轉換成[指令](http://docs.angularjs.org/guide/directive) –
感謝德米特里 - 指令和模板是接下來的! – Konstantin
查看http://onehungrymind.com/angularjs-communicating-between-controllers/ – kfis