Bazı şeyleri tamir ettim.
http://plnkr.co/edit/5Zaln7QT2gETVcGiMdoW?p=preview
JS
var myMod = angular.module("myApp",[]).controller("MainController", function($scope){
$scope.myModel = {selectedId:null};
}).controller("DetailController",function($scope){
$scope.items = [1,2,3,4];
$scope.watchHitCount = 0;
$scope.$watch('myModel.selectedId', function(newVal, oldVal){
console.log(newVal + " " + oldVal);
$scope.watchHitCount++;
},true);
});
O bulma d değil şikayet ettiği
<pre>watch hit: {{watchHitCount}}</pre>
<pre>selected value: {{myModel.selectedId}}</pre>
<select ng-model="myModel.selectedId" ui-select2="">
<option></option>
<option ng-repeat="item in items" value="{{item}}">{{item}}</option>
</select>
index.html
<body ng-app="myApp">
<div ng-controller="MainController">
<ng-include src="'detail.html'" ng-controller="DetailController"></ng-include>
</div>
</body>
detail.html ng denetleyiciyi, normalde adlandırılmış bir ng-app ve üzerinde tanımlı denetleyicileri bulunan bir modül ile yaptığım şekilde ayarladım.
Modelinizdeki değeri korumak için bir nesne ekledim. $ kapsam nesnesini modeliniz olarak kullanmak kötü bir uygulamadır, bunun yerine kapsamınız modeliniz olan bir nesneye başvurmalıdır.
bir $ watch ateş değil ama bir ng vardı-eğer yeni bir kapsam oluşturuyordu, bu yüzden ng-model = "$ parent.myModal" koymak gerekiyordu, çünkü ben aslında anne ve babamı izliyordum .. –