【问题标题】:Model does not persist using uib-typeahead with ng-repeat使用带有 ng-repeat 的 uib-typeahead 模型不会持续存在
【发布时间】:2016-08-20 17:25:33
【问题描述】:

我正在尝试使用 uib-typeahead 选择一个或多个对象(通过 ng-repeat),但遇到了一个问题,即添加另一个对象时模型不会持续存在。

这是转载on Plnkr here(基于ui-bootstrap's demo)。 (通过选择一个状态,然后单击“选择另一个”来重现错误。之前选择的状态消失了!)

是什么导致模型不持久?如何解决这个问题? uib-typeahead 有问题吗?还是ng-repeat 范围?

注意:我也在使用自定义 ngModel 格式化程序,但这似乎不会导致任何问题;删除 format-state 指令后问题仍然存在。

我尝试设置ng-model-options,但无济于事。

帮助表示赞赏!

【问题讨论】:

    标签: angularjs angularjs-ng-repeat angular-ui-bootstrap angular-ngmodel


    【解决方案1】:

    我检查了你的 plunk,然后尝试重现它,但无法弄清楚指令与 ng-repeat 的问题是什么。也许我遗漏了一些东西,也许这是一个问题,你可能想在他们的 github 问题跟踪器上问这个问题。

    但我发现通过将模型值绑定到模型属性而不是模型本身确实可以使一切正常。

    代替

    ng-model="selected" 
    

    使用这个

    ng-model="selected.state" 
    

    现在是works

    【讨论】:

    • 谢谢@svarog。您是否设法重现该错误?对我来说,Chrome 50 和 Firefox 44 上的行为是相同的。感谢您的解决方案 - 我也会在 Github 上提出问题。
    • 我没有看到任何错误,只是数据没有正确绑定,我用FF45/46测试过
    • 好的 - 谢谢。从this issue 开始,它与 ng-repeat 的隔离范围有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    相关资源
    最近更新 更多