根据observer,它会观察到聚合物属性的所有更改。
但是,双向绑定(使用{{}})已经这样做了,对吧?为什么我们需要观察者来处理变化?
答案 0 :(得分:3)
它们的相似之处在于,值变化会调用观察者和数据绑定的效果,但它们的目的不同。
A
的属性设置为元素B
中其他属性的值B
属性的任何更改都会自动更新A
的属性,反之亦然enabled
属性的值url
属性更改时生成AJAX请求答案 1 :(得分:1)
我认为你们两个都混淆了。
<dom-module id="my-element">
<template>
<paper-input value="{{myValue}}">
</template>
<script>
Polymer({
is:"my-element",
properties:{
myValue:{
type:String
}
}
</script>
</dom-module>
value="{{myValue}}"
可以读取,只要有任何更改值, myValue 也会更新。
现在,考虑一下您希望在myValue
更改时收到通知的情况。上面写的代码是不够的(是的,我知道你可以听value-changed
事件来了解变化,我们稍后会再回过头来看)。为此,您需要在observer
上添加myValue
,然后您就会知道myValue
何时发生了变化。
上面提到的案例有另一个解决方案,即听value-changed
paper-input
触发的two-way binding
事件,但是你的属性没有绑定到任何元素的情况(它从db获取它的值)和你想知道它的价值何时发生变化。
总而言之,当您想知道某些不属于您自己的影子的属性的值已经改变并且当您想要了解的时候使用observer
时,会使用WKWebView
。你自己的dom中属性的变化