【问题标题】:Polymer with one way databinding具有单向数据绑定的聚合物
【发布时间】:2016-09-06 20:49:34
【问题描述】:

我试图寻找我的问题的答案,但似乎我找不到任何有关与 Polymer 进行数据绑定的单向方式的信息。

我一直在研究 Polymer,发现它的许多方面都非常有趣。然而,我想知道是否有可能以不同的方式“使用”聚合物。与我在示例和教程中使用它的方式不同。

是否可以仅使用从模型到视图的一种方式绑定(而不是从视图到模型)?完全不绑定怎么样?

显然可以在模型中创建额外的变量并以更可控的方式更新“模型的真实部分”。但也许有某种支持单向绑定的替代方案?

另一件让我犹豫是否要跳上聚合物火车的事情是聚合物组件之间的集成方式。是否有使用声明性集成/组合的替代方法。能否以更可控的方式(即以编程方式)组合不同的聚合物成分。

我很确定以上是可能的。但它可以以优雅的方式完成吗?有没有人尝试过这种方法?

例如,knout 提供了一些 beforechange 事件,以允许对更新 observables 进行更多控制。但是这种丑陋的“变通”让整个过程变得很麻烦。

提前感谢您的帮助!

【问题讨论】:

    标签: data-binding polymer


    【解决方案1】:

    更新

    在 Polymer 1.x 中 [[]] 用于单向绑定。

    原创

    看看官方Polymer documentation

    一次性绑定

    有时,您可能不需要动态绑定。对于这些情况,有一次性绑定。

    在表达式中使用 ¸{{}} 的任何地方,都可以使用双括号 ([[]]) 来设置一次性绑定。绑定在 {{site.project_title}} 首次设置其值后变为非活动状态。

    例子:

    <input type="text" value="this value is inserted once: [[ obj.value ]]">
    

    如果您不需要设置属性观察的开销,那么一次性绑定可能会带来性能优势。

    另见https://code.google.com/p/dart/issues/detail?id=21022

    【讨论】:

    • 这不是一次性绑定,而是单向绑定。两者差别很大。
    • AFAIR 从 Polymer 0.5 更改为 1.0。
    • 完成。感谢您的提示:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多