使用$ watch Angular无法看到新值

时间:2015-02-20 11:52:51

标签: angularjs angularjs-scope

这是我的Plunker:Demo 这是我的代码:
控制器:

$scope.myDate='13930101';
    $scope.showDate=function() {
      PersianDatePicker.Show('thisDate', $scope.myDate);

    };

  $scope.$watch( 'myDate',
            function(newValue, oldValue){
                console.log('myDate Changed');
                console.log(newValue);
                console.log(oldValue);
            }
    );

Html

  <input type="text" id="thisDate" ui-mask="9999/99/99"
          ng-model="myDate"  />


    <input type="button" value="test" ng-click="showDate()">   

问题是:我看不到这方面的变化:$scope.myDate='13930101';

我的代码错了!
任何的想法 ?提前谢谢

2 个答案:

答案 0 :(得分:1)

Hay问题是观察者仅用于输入字段,如果您在输入字段中直接输入内容,则观察者会触发。但是如果你从选择器中选择一个日期。它没有触发。

答案 1 :(得分:1)

此lib包含no documentation。从检查scripts开始,我看到除Show()之外没有其他API函数,因此没有像onSelect()这样的回调,它允许您将所选日期绑定到范围变量。

我建议使用另一个像this one这样已经 angularized 的库。