我有一个像
这样的指令require: '^ngModel',
link: function (scope, elem, attr, ctrl) {
var clear = angular.element('<span style="position: absolute; top: 0; bottom: 0; height: 14px; margin: auto; right: 20px; cursor: pointer; color: #999;" class="glyphicon glyphicon-remove"></span>');
clear.on('click', function () {
ctrl <- set model to ''
elem.focus();
elem.val('');
});
elem.after(clear);
}
我想在输入字段中添加一个清除按钮,单击此按钮时输入应为空。但我也想清除这种输入的模型。所以我想要ctrl.$setModel('')
。
我试过了:
ctrl.$setViewValue('')
ctrl.$modelValue = ''
两者都没有效果。如何从指令设置模型?
答案 0 :(得分:2)
你只需要拨打$ apply:
clear.on('click', function () {
scope.$apply(function() {
ctrl.$setViewValue('')
ctrl.$render();
});
elem.focus();
});