-1

@版本角js 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 表达式以编程方式更改时,不会调用 $parsers。

Angular Doc:由于 ng-model 不进行深度监视,因此 $render() 仅在 $modelValue 和 $viewValue 的值实际上与它们之前的值不同时才被调用。如果 $modelValue 或 $viewValue 是对象(而不是字符串或数字),那么如果您仅更改对象的属性,则不会调用 $render()。

如何使它工作?

工作柱塞: 行为

也许我错过了一些东西,也许我想太多了,或者这只是不可能做到的。

您的帮助将不胜感激!

4

1 回答 1

0

我发现它在我的 $doCheck() 中,我做了一个从未正确的检查。

于 2017-03-30T15:34:41.247 回答