我在我的範圍內有一個日期過濾字符串。AngularJS示波器手錶不觸發
$scope.myModel = {date:""};
我也有一個jQuery的日期選擇器
<input date-value="myModel.date" date-picker />
一個更新指令,這裏面的字符串(使用AngularJS - Attribute directive input value change)
.directive('datePicker', function ($timeout) {
return {
scope: {
dateValue: "=?",
},
link : function (scope, elem, attrs) {
$timeout(function() {
elem.data('date-value', scope.dateValue);
elem.bind('change paste', function (blurEvent) {
if (elem.data('date-value') != elem.val()) {
console.log('value changed, old value is:' + elem.data('date-value') +'new value is: ' + elem.val());
elem.data('date-value', elem.val());
scope.dateValue = elem.val();
}
});
});
},
};
});
根範圍日期得到正確更新和我可以成功發送給服務器,但我想在日期發生變化時執行某些操作。我的函數在頁面的初始化時被調用一次,然後再也不會再執行。
$scope.$watch("myModel.date", function(newVal, oldVal) {
console.log("newVal: " + newVal + ' oldVal:' + oldVal);
if (newVal == oldVal) {
return;
}
// do something
});
我在做什麼錯在這裏?
在scope.dateValue = elem.val()後添加範圍。 – Scottie 2015-02-06 03:29:53