以下應該做的伎倆。你想要做的是使用ng-model屬性將日期輸入綁定到值。你的指令(我的例子中的驗證器)將有一個隔離範圍。日期:'='在本地值(日期)和父範圍值(dateInput)之間設置雙向綁定。在鏈接函數中,您可以將dateValidation賦值給指令的作用域,該作用域將進行日期之間的比較。
最後,根據dateValidation函數是否通過,ng-show ='dateValidation(date,comparativeDate)'顯示並隱藏警告。
另請注意,compareDate在HTML中拼寫不同。
angular.module('YourApp')
.directive('validator', function() {
return {
restrict: 'E',
template: "<div ng-show='dateValidation(date, comparisonDate)'>Dates are out of order</div>",
scope: {
date:'=',
comparisonDate:'='
},
link: function(scope) {
scope.dateValidation = function(date, comparisonDate) {
// Your date comparison logic goes here
return parseInt(date) > parseInt(comparisonDate);
};
}
}
});
在HTML,要附加的日期到NG-模型屬性,如下所示:
<p>Date 1: <input type="text" ng-model="dateInput"></p>
<p>Date 2: <input type="text" ng-model="comparisonDateInput"></p>
<validator date="dateInput" comparison-date="comparisonDateInput">
好了,所以我在處理這些日期爲整數,這是不準確你想要什麼。但是,聽起來並不像這是你的關鍵。希望這可以幫助!