我正在使用ui-mask
從AngularJS-UI。我想根據HTML輸入類型動態設置屬性。在元素上設置自定義指令屬性的自定義指令
這是你如何正常使用此指令:
<input type="tel" class="form-control"
ng-model="Model.Homephone" placeholder="Home Phone"
ui-mask="(999) 999-9999" ui-mask-placeholder/>
它正常工作,這樣。現在,我創建了一個指令,根據輸入類型添加該屬性的值。
自定義指令:
angular.module('App').directive("uiMaskType", ['$log', function ($log) {
return {
restrict: "A",
require: 'ngModel',
link: function (scope, element, attributes, ngModel) {
$log.log(element.attr('type'));
switch(element.attr('type')) {
case 'tel':
element.attr('ui-mask', '(999) 999-9999');
break;
case 'text':
element.attr('ui-mask', '999-99-9999');
break;
}
}
};
}]);
我用的指令輸入元素中是這樣的:
<input type="tel" class="form-control"
ng-model="Model.Homephone" placeholder="Home Phone"
ui-mask-type ui-mask-placeholder/>
當我運行頁面的結果是這樣的:
<input type="tel" class="form-control"
ng-model="Model.Homephone" placeholder="Home Phone"
ui-mask-type ui-mask-placeholder ui-mask="(999) 999-9999"/>
即使雖然屬性在那裏,但是掩蔽不起作用。我檢查了AngularJS-UI的mask.js
文件中的指令優先級,並嘗試將其設置得更高,以便在編譯ui-mask
之前添加屬性。 任何人都有一個想法可能是什麼問題?
只是注意到建立該FW失敗:https://github.com/angular-ui/ui-mask –