我有一个指令,用一个字符串替换一个特定的日期(是一个标志)。
app.directive('dateToText', ['$timeout', function($timeout) {
return {
restrict: 'A',
link: function(scope, el, attrs) {
if(scope.currentUserData.selectedLanguage == 'FR') {
scope.unKnownDate = 'Date inconnue'
}
else {
scope.unKnownDate = 'Date unknown';
}
$timeout(function(){
if(attrs.value == "01/01/2050" && $(el).prop('disabled')) {
console.log("attrs.value: ", attrs.value );
$(el).val(scope.unKnownDate);
}
});
}
}
}]);
这个指令用于某些输入,但是我想全局使用这个逻辑,而不是为每个输入提供这个指令。
所有已禁用且值为“01/01/2050”的输入必须为value =“My text”。
感谢您的任何想法!
答案 0 :(得分:0)
我创建了这个指令,问题解决了:
.directive('dateToText', ['$timeout', '$interpolate', function($timeout, $interpolate) {
return {
restrict: 'A',
link: function(scope, el, attrs) {
if(scope.currentUserData.selectedLanguage == 'FR') {
scope.unKnownDate = 'Inconnue'
}
else {
scope.unKnownDate = 'Unknown';
}
$timeout(function(){
if(attrs.value == "01/01/2050") {
console.log("attrs.value: ", attrs.value );
$(el).val(scope.unKnownDate);
}
if( el[0].textContent.trim() == "01/01/2050" ) {
$(el).text(scope.unKnownDate);
scope.$apply();
}
});
}
}
}])