我有银行选择器。当用户更改银行时,银行帐户的掩码应该动态更改。
我做了一个指令来进行这种动态变化。我正在检查DOM并且正在更新掩码,但它不起作用,掩码仍然是第一个。
HTML:
<fieldset>
<select ng-model="bankInfo.bank" ng-options="bank.name for bank in banks"></select>
<input bank-mask="bankInfo" type="text" ng-model="bankInfo.account">
</fieldset>
BankMask指令:
return {
restrict: 'A',
require: 'ngModel',
scope: {
bankInfo: '=bankMask'
},
link: function(scope, element, attrs, ngModel) {
scope.$watch('bankInfo.bank.code', function(newBankCode, oldBankCode) {
if (oldBankCode !== newBankCode) {
element.attr('mask', getMask(newBankCode));
$compile(element)(scope);
}
});
}
};