聚合物与单向数据绑定

4

我试图寻找关于Polymer单向数据绑定的答案,但似乎找不到任何相关信息。

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

是否可能仅从模型到视图使用单向绑定(而不是从视图到模型)?连续没有绑定呢?

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

让我对跳上Polymer列车感到犹豫的另一件事是组件之间的集成方式。除了使用声明性的集成/组合外,是否有其他选择?是否可以以更可控的方式组合不同的Polymer组件(即以编程方式)?

我相信上述问题都是可以解决的。但是否能以优雅的方式解决?有人尝试过这样的方法吗?

例如,Knockout提供了一些beforechange事件,以允许更多地控制更新观察目标。但这种丑陋的“解决方法”使整个过程变得繁琐。

感谢您提前的帮助!

1个回答

2

更新

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

原文

请查看官方的 Polymer 文档

一次性绑定

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

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

示例:

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

如果您不需要设置属性观察的开销,一次性绑定可能会在性能方面获得优势。

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


3
这不是“一次性”绑定,而是“单向”绑定。两者之间有很大的区别。 - Tushar
据我所知,这个变化发生在 Polymer 0.5 到 1.0 的版本升级中。 - Günter Zöchbauer
完成。谢谢提示 :) - Günter Zöchbauer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接