【问题标题】:Using ng-model on prototype properties, cannot edit input field在原型属性上使用 ng-model,无法编辑输入字段
【发布时间】:2014-07-02 10:50:23
【问题描述】:

Plunker - http://plnkr.co/edit/l9ZzBilMaf3eJgXDNcaK

我有一种有趣的感觉,这与原型模型有关,我应该做一些巧妙的绑定,但我想不通。

我正在尝试改进现有代码,并且正在尝试使用 angularjs 工厂的原型构造函数。如您所见,除了我无法编辑已绑定到我创建的对象之一的属性的输入字段之外,这一切似乎都很好。

任何人都可以对此有所了解吗?

【问题讨论】:

    标签: javascript angularjs data-binding prototype prototype-programming


    【解决方案1】:

    :) 每次按键,输入的 ng-model 都会发生变化——这会导致 $digest 运行,因此每次触发绑定时,包括这个:{{details1.setTestObject({hello: "World"})}}。 它将 'hello' 设置回 'World' 并触发另一个 $digest。

    我在 setTestObject 方法上创建了控制台日志 - 每次按键时它运行 3 次。

    检查this one。我所做的只是将{{details1.setTestObject({hello: "World"})}} 更改为<span ng-init="details1.setTestObject({hello: 'World'})"></span>,因此它不会评估每个$digest 循环,也不会更改您的变量。

    【讨论】:

    • 哇,有时你会迷失在高级的东西中,以至于你完全错过了显而易见的东西!非常感谢你为我节省了大约半头头发:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 2012-05-23
    相关资源
    最近更新 更多