я AMB с помощью директивы самозагрузки-Datepicker, и я пытаюсь установить заполнитель во входном потоке, что директива создает:Угловое - установить заполнитель в шаблоне параметром
директива заменяет HTML код, который вызывает его с статический шаблон. Вот директива:
dp.directive('ngDatepicker', function() {
return {
restrict: 'A',
replace: true,
scope: {
ngOptions: '=',
ngModel: '='
},
template: '<div class="input-append date">\n <input type="text" placeholder="{{myPlaceholder}}" ><span class="add-on"><i class="icon-calendar"> </i></span>\n</div>',
link: function(scope, element) {
scope.inputHasFocus = false;
element.datepicker(scope.ngOptions).on('changeDate', function(e) {
var defaultFormat, defaultLanguage, format, language;
defaultFormat = $.fn.datepicker.defaults.format;
format = scope.ngOptions.format || defaultFormat;
defaultLanguage = $.fn.datepicker.defaults.language;
language = scope.ngOptions.language || defaultLanguage;
return scope.$apply(function() {
return scope.ngModel = $.fn.datepicker.DPGlobal.formatDate(e.date, format, language);
});
});
element.find('input').on('focus', function() {
return scope.inputHasFocus = true;
}).on('blur', function() {
return scope.inputHasFocus = false;
});
return scope.$watch('ngModel', function(newValue) {
if (!scope.inputHasFocus) {
return element.datepicker('update', newValue);
}
});
}
};
});
То, что я пытаюсь добиться, чтобы установить пользовательский текст в заполнителе шаблона, который он создает, я прохожу этот текст директивы, используя опции, отправляемые в директиву :
$scope.datepickerOptions = {format: 'dd/mm/yyyy', language: 'es', autoclose: true, weekStart: 1, placeholder: 'Birthdate'};
выход выше результатов коды в его вводе с заполнителем, показывающим «{{myPlaceholder}}».
Использование функции компиляции вместо статического шаблона было бы намного проще делать то, что я пытаюсь, но так как директива уже написана и не хочет ее испортить, я бы хотел попробовать ее в шаблоне html.
Заранее спасибо
Вместо этого {{myPlaceholder}} используйте {{}} datepickerOptions.placeholder и посмотреть, работает ли он или нет – Reena