我有这样的自定义指令:
myApp.directive('input', function () {
return {
restrict: 'E',
scope: true,
link: function (scope, elem) {
if (scope.lang && elem.attr('type') === 'text') {
elem.attr('lang', 'fa');
console.log(scope.lang);
}
}
};
});
将lang='fa'
属性添加到所有输入:文本以及我使用DatePicker angular Ui但我收到错误:
Error:
[$compile:multidir] Multiple directives [datepickerPopupPersian, input] asking for
new/isolated scope on:
<input type="date" name="birth" class="form-control ng-pristine
ng-untouched ng-valid"
datepicker-popup-persian="{{formats.ShowDate}}" tabindex="7"
ng-model="requesterViewModel.BirthDate"
is-open="datePicker.opened" datepicker-options="dateOptions" date-disabled="disabled(date, mode)"
close-text="بسته"
max-date="dt">
当我在表单中评论datePicker时,一切运行良好 任何的想法?感谢
答案 0 :(得分:7)
该指令实际上并不需要新的子范围(既不是孤立的)。使用scope: false
配置它要好得多。它不仅可以解决这个问题,还可以保存几个(当然是视图的设计)不必要的范围对象创建。