2017-04-13 60 views
0

我想觀察stateProvider中每個視圖中的輸入。 我準備了Plunker,它顯示了問題所在。 Plunker

我用$看是這樣的:

$scope.$watch('Group', function(newValues, oldValues) { 
     console.log(newValues); 
}, true); 

如果我將數據添加到輸入1或輸入2,那麼$手錶也將觀察輸入3和4 但是,如果我第一次將數據添加到輸入3或輸入4,那麼$ watch不會觀察這些輸入。可能是什麼問題?

回答

1

你沒有提到的controller您的其他國家。所以它不會工作。

要使用相同的控制器$scope,您需要在mainController內部創建$scope.Group = {};

當你把價值item1 and 2,因爲$scope.Group被創建和您所使用的prototypal inheritance.

你plunker好處,當你把價值item3 and 4,因爲沒有關聯控制器沒有工作,你的工作plunker您state,並且在mainController $scope上不存在這樣的$scope.Group

另外:嘗試把{{$$childHead.Group}} - {{$$childTail.Group}} 在Plunker HTML,看看item 3 & 4被創建爲孩子 範圍。

看到這個working plunker.

Read more here

0

您必須將ng-controller='mainController'也放入模板中。

你可以把它在輸入標籤如下:

<input ng-controller="mainController" type="text" ng-model="Group.item4" placeholder="Group.item4">