@version angularjs 1.6.2
我正在尝试做一些格式化程序和解析器,以便为我真正庞大的项目提供通用输入/输出。
用例:
我有一个需要ngModelController的自定义组件,但是当我在视图中使用带有属性指令的组件时;这也需要ngModel添加$ parser或$ formatters;但是当值变为组件时,不会调用$ formatters或$ parsers赋值。
我想要的逻辑
组件:ArtistSelect
指令(解析器):ngObject ng-object-formatter =“attribute_object”ng-object-parser =“attribute_object”
查看:
<artist-select ng-model="model.artist" ng-object ng-object-formatter="id_artist"></artist-select>
我希望model.artist的格式如下:{id_artist:integer}而不是整数。
Angular doc:请注意,绑定时不会调用$解析器 ngModel表达式以编程方式更改。
也
Angular Doc :由于ng-model不进行深度监视,因此仅在调用$ render()时调用 $ modelValue和$ viewValue的值实际上是不同的 他们以前的价值观如果$ modelValue或$ viewValue是对象 (而不是字符串或数字)然后$ render()将不会被调用 你只需要更改对象的属性。
如何让它发挥作用?
工作伙伴: Behavior
也许我错过了一些东西,也许我正在过度思考这些事情,或许这是不可能做到的。
非常感谢您的帮助!
答案 0 :(得分:0)
我发现它是在我的$ doCheck()中,我做了一张从未实现的检查。