如何深度观察angularjs中的数组?

如何深度观察angularjs中的数组?

我的范围中有一个对象数组,我想要观察每个对象的所有值。

这是我的代码:

function TodoCtrl($scope) {
  $scope.columns = [
      { field:'title', displayName: 'TITLE'},
      { field: 'content', displayName: 'CONTENT' }
  ];
   $scope.$watch('columns', function(newVal) {
       alert('columns changed');
   });}

但是当我修改值时,例如我TITLE改为TITLE2alert('columns changed')从不弹出。

如何深入观察数组内的对象?

有一个现场演示:http//jsfiddle.net/SYx9b/


陪伴而非守候
浏览 582回答 3
3回答

拉风的咖菲猫

$scope.changePass&nbsp;=&nbsp;function(data){ &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;if(data.txtNewConfirmPassword&nbsp;!==&nbsp;data.txtNewPassword){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$scope.confirmStatus&nbsp;=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;}else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$scope.confirmStatus&nbsp;=&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;}};&nbsp;&nbsp;<form&nbsp;class="list"&nbsp;name="myForm"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<label&nbsp;class="item&nbsp;item-input">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="password"&nbsp;placeholder="ใส่รหัสผ่านปัจจุบัน"&nbsp;ng-model="data.txtCurrentPassword"&nbsp;maxlength="5"&nbsp;required> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<label&nbsp;class="item&nbsp;item-input"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="password"&nbsp;placeholder="ใส่รหัสผ่านใหม่"&nbsp;ng-model="data.txtNewPassword"&nbsp;maxlength="5"&nbsp;ng-minlength="5"&nbsp;name="checknawPassword"&nbsp;ng-change="changePass(data)"&nbsp;required> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<label&nbsp;class="item&nbsp;item-input"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="password"&nbsp;placeholder="ใส่รหัสผ่านใหม่ให้ตรงกัน"&nbsp;ng-model="data.txtNewConfirmPassword"&nbsp;maxlength="5"&nbsp;ng-minlength="5"&nbsp;name="checkConfirmPassword"&nbsp;ng-change="changePass(data)"&nbsp;required> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;class="spacer"&nbsp;style="width:&nbsp;300px;&nbsp;height:&nbsp;5px;"></div>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span&nbsp;style="color:red"&nbsp;ng-show="myForm.checknawPassword.$error.minlength&nbsp;||&nbsp;myForm.checkConfirmPassword.$error.minlength">รหัสผ่านต้องมีจำนวน&nbsp;5&nbsp;หลัก</span><br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span&nbsp;ng-show="confirmStatus"&nbsp;style="color:red">รหัสผ่านใหม่ไม่ตรงกัน</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button&nbsp;class="button&nbsp;button-positive&nbsp;&nbsp;button-block"&nbsp;ng-click="saveChangePass(data)"&nbsp;ng-disabled="myForm.$invalid&nbsp;||&nbsp;confirmStatus">เปลี่ยน</button> &nbsp;&nbsp;&nbsp;&nbsp;</form>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS