2013-06-01 37 views
0

我想有一個帶有未讀消息數的引導程序導航選項卡。 此外,在消息頁面上,我需要顯示當前消息並在每次詢問時刪除它們。 問題是它看起來在範圍中的值沒有爲第二個div更改。我用演示製作了一款笨蛋 - 問題在於第二個實例未按預期更新。我錯過了什麼?新角度。謝謝。使用相同的角度控制器在同一頁上的幾個地方

http://plnkr.co/edit/O2ZduEP5JDkN219jXiNI

+0

考慮到提取與重複使用HTML的一部分邏輯轉換成[指令](http://docs.angularjs.org/guide/directive) –

+0

感謝德米特里 - 指令和模板是接下來的! – Konstantin

+0

查看http://onehungrymind.com/angularjs-communicating-between-controllers/ – kfis

回答

0

首先 - 你創建兩個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(); 
}; 
+0

謝謝您的明確解釋! – Konstantin

相關問題