簡體   English   中英

更改復選框的值時,Angular指令中未擊中$ watch

[英]$watch is not being hit in Angular's directive when a checkbox's value is changed

我有這樣的指令設置。

angular.module('app')
  .directive('bootstrapCheck', function () {
    return {
      restrict: 'A',
      require: '?ngModel',
      link: function (scope, element, attrs, ngModel) {
        $.getScript("../../Scripts/js/checkBoxFunctions.js",  function () {
        });
        scope.$watch(attrs.ngModel, function (newValue, oldValue) {
          //debugger;
        });
      }
    };
  });

它的HTML看起來像

<section id="dashboard-view" data-ng-controller="dashboard as vm">
  <input type="checkbox" ng-model="vm.my.bool.prop" ng-checked="vm.my.bool.prop" bootstrap-check>
</section>

和屬性是這樣設置的

var vm = this;
vm.my = {
  bool: {
    prop: true
  }
};

似乎復選框已綁定到該屬性。 但是,每當我單擊復選框時,我都希望它能打到調試器,但無法正常工作。

我認為您沒有在頁面上加載jQuery ,因此$.getScript引發異常,由於從未執行$watch

如果您刪除該代碼,我相信$watch可以正常工作。

演示http://plnkr.co/edit/EB3yoccf1N9TLIAawnRM?p=preview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM