Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度数据选择器未触发ng更改_Javascript_Angularjs - Fatal编程技术网

Javascript 角度数据选择器未触发ng更改

Javascript 角度数据选择器未触发ng更改,javascript,angularjs,Javascript,Angularjs,我有一个问题,在日期选择器与ng的变化。当我通过“单击日期”更改值时,ng change事件不会触发,但当我通过“键入日期”更改值时,ng change事件会起作用 这是我的密码 <input ng-change="date_change();" ng-model="date_to" id="recon-date" name= "date_to" type="text" class="form-control" date-time view="month" auto-close="true

我有一个问题,在日期选择器与ng的变化。当我通过“单击日期”更改值时,ng change事件不会触发,但当我通过“键入日期”更改值时,ng change事件会起作用

这是我的密码

<input ng-change="date_change();" ng-model="date_to" id="recon-date" name= "date_to" type="text" class="form-control" date-time view="month" auto-close="true" min-view="month" format="MM-DD-YYYY">

我通过调查datepicker.js来追踪问题。我发现(如果我是正确的话)ngModelController.serViewValue()和$render()没有触发ng更改

我试图添加作用域。$apply(),但没有成功。我调试了几个小时,仍然没有任何进展

另外,我不想使用$scope.$watch()来解决这个问题


谢谢

无需更改,请使用
手表

$scope.date_to;

$scope.$watch("date_to", function(newValue, oldValue) {
    console.log("I've changed : ", to date);
});

使用
$apply
,这可能会对您有所帮助

var scope=angular.element($('#recon-date')).scope();    
scope.$apply(); 

可能重复感谢,但我不想使用$watch事件。我和ngchange有很多约会,不想在每一个里面都创建$watch。试着用md datepicker或angular-datepicker.js代替datepicker.js试试看。谢谢,谢谢。等我回来再试试。谢谢。谢谢。但是我不想用$watchevent。我与ngchange有很多约会,不想在每一个约会中都创建$watch。在这种情况下,您可以使用watchcollection在更改时使用
的关键是检测用户所做的更改,而不是由代码触发的更改。手表会在任何变化下运行,即使在初始化应用程序时也是如此,这是这种方法的一个问题。