Javascript $watch没有在角度上被击中';当复选框';s值已更改

Javascript $watch没有在角度上被击中';当复选框';s值已更改,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有一个这样的指令设置 angular.module('app') .directive('bootstrapCheck', function () { return { restrict: 'A', require: '?ngModel', link: function (scope, element, attrs, ngModel) { $.getScript("../../Scripts/js/checkBoxFunction

我有一个这样的指令设置

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>

该复选框似乎已绑定到属性。但是,每当我单击该复选框时,我都希望它命中调试器,但它不工作

我认为您没有在页面上加载
jQuery
,因此
$。getScript
正在引发一个异常,由于该异常,
$watch
从未执行

如果您删除该代码,我确信
$watch
将正常工作


演示

bool
缺少一个花括号,它在实际代码中。因为误会。
var vm = this;
vm.my = {
  bool: {
    prop: true
  }
};