AngularJS指令动态更改属性

时间:2016-01-07 16:47:32

标签: javascript angularjs directive masking

我有银行选择器。当用户更改银行时,银行帐户的掩码应该动态更改。

我做了一个指令来进行这种动态变化。我正在检查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);
            }
        });
    }
};

0 个答案:

没有答案