首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS指令数字格式掩蔽

AngularJS指令数字格式掩蔽
EN

Stack Overflow用户
提问于 2013-11-08 14:28:29
回答 3查看 25.3K关注 0票数 2

我创建的指令使用函数setFormatting来掩盖输入字段中的文本值。

代码语言:javascript
运行
复制
scope.$watch(element, function() {
    modelCtrl.$setViewValue(setFormatting(element.val(), attrs.symbol));
    modelCtrl.$render();
});

element.bind('blur', function() {
    modelCtrl.$setViewValue(setFormatting(element.val(), attrs.symbol));
    modelCtrl.$render();
});

$watch第一次加载/应用内容时应用掩码,element.bind在其他时间应用掩码。范围.$watch是将符号(如果有)存储为ng模型变量的一部分。element.bind不是。我认为$setViewValue()和$render()没有更新ng模型变量。变量在哪里更新?

见附件小提琴:http://jsfiddle.net/PJ3M4/

谢谢。

EN

Stack Overflow用户

发布于 2013-11-08 14:40:56

$watch在“摘要”循环中执行。element.bind回调是从外部角调用的,因此必须添加对scope.$apply()的显式调用。

代码语言:javascript
运行
复制
element.bind('blur', function() {
    modelCtrl.$setViewValue(setFormatting(element.val(), attrs.symbol));
    modelCtrl.$render();
    scope.$apply();
});

更新小提琴

有关AngularJS事件循环的信息,请参阅文档。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19861408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档