Angular 2提到:如何在api调用后更新数组绑定到指令

时间:2017-09-24 16:28:52

标签: angular angular2-directives mention

我正在使用此程序包https://www.npmjs.com/package/angular2-mentions。 所以我的代码就是这样:

map()

.html文件:

Undefined

数组已经更新,并且有来自api的数据,但指令[提及]绑定到旧数组包含在开始时静态初始化的值!

3 个答案:

答案 0 :(得分:0)

也许你应该尝试这样的

<input *ngIf="items.length > 0" type="text" [mention]="items">

或设置其他标志,在您获取数据后该标志为真。

它可以工作,因为它会在您获取数据后呈现输入。

答案 1 :(得分:0)

添加项目后,您需要更新数组的整个引用。在完成数组新数据的推送后,您必须执行以下操作:

this.__items = this.__items.slice();
this.ref.markForCheck();

如果模型中的任何内容发生了变化但未反映视图,则可能需要通知Angular检测这些更改(检测本地更改)并更新视图。

您还可以执行DoCheck界面。默认更改检测算法通过在更改检测运行之间通过引用比较绑定属性值来查找差异。除默认算法外,还会调用ngDoCheck来检查指令中的更改。

答案 2 :(得分:0)

[mention] =“ users.length> 0?用户:[]”

使用此条件进行提及。仅在加载用户数组时才会设置该值。