Polymer 2.0:通知并反映到属性
我是这个框架的新手,希望看到一些有用且简单的示例,说明如何使用notify和reflect to属性。Polymer 2.0:通知并反映到属性,polymer,web-component,Polymer,Web Component,我是这个框架的新手,希望看到一些有用且简单的示例,说明如何使用notify和reflect to属性。 请保持示例简单,或为您提供的任何代码添加解释。通知: 可以设置为True | False。假设您有父元素和子元素。工作示例 parent-element.html: <dom-module id="parent-element"> <template> <child-element foo="{{test}}"></child-elemen
请保持示例简单,或为您提供的任何代码添加解释。通知: 可以设置为True | False。假设您有
父元素
和子元素
。工作示例
parent-element.html:
<dom-module id="parent-element">
<template>
<child-element foo="{{test}}"></child-element>
</template>
<script>
Polymer({
is: "parent-element",
properties: {
test: {
value: "bar"
}
}
})
</script>
</dom-module>
<dom-module id="child-element">
<template>
<paper-input value="{{test}}"></paper-input>
</template>
<script>
Polymer({
is: 'child-element',
properties: {
test: {
}
},
});
</script>
</dom-module>
什么是hapenning?在子元素中,我们定义了test
属性,该属性绑定到paper input
,这意味着,每当我们在paper input
中写入内容时,该属性会自动更新。YEE那太棒了,我们不需要在子元素
中更新属性,但是父元素怎么知道属性测试
已经更改了呢?嗯,他不能
下面是notify:true
。如果设置了它,就不必关心通知父元素子元素中的某个地方,test
属性已更改
很快,父元素和子元素中的属性将同时更新
反映到属性:
正如名称所说,当您将其设置为某个属性时,它的值将在宿主元素的属性中可见。最好用一些例子来说明这一点
在Polymer
中,我们知道对某些元素的属性设置一些绑定需要$
符号
<custom-elem foo-attribute$="[[someProperty]]"></custom-elem>
在这种情况下,CSS将不起作用,因为foo
是属性(而不是属性),CSS仅应用于属性
要使其工作,我们必须在foo
属性的子元素中添加reflectToAttribute
<dom-module id='child-element'>
<template>
<div>[[foo]]</div>
</template>
<script>
Polymer({
is: "child-element",
properties: {
foo: {
reflectToAttribute: true
}
}
})
</script>
</dom-module>
[[foo]]
聚合物({
是:“子元素”,
特性:{
傅:{
reflectToAttribute:真
}
}
})
在此之后,foo
将成为属性和属性。此时,CSS将应用于子元素
,我们将能够使用文档中子元素
中的foo
值:
要绑定到属性,请在属性后添加美元符号($)
姓名:
双向绑定。。。属性必须设置为notify:true
我有一个问题,如果你比较我还没有掌握这个聚合物的东西,我也是一个新手,但我一直在工作,简而言之,你会如何描述父元素需要知道子元素已经更新了属性,在现实生活中,它为什么需要知道?好的,我已经读过这些帖子:所以它应该意味着我需要在notify:true中设置它们,或者根据您的示例设置哪一个“test”属性。
<dom-module id='child-element'>
<template>
<div>[[foo]]</div>
</template>
<script>
Polymer({
is: "child-element",
properties: {
foo: {
reflectToAttribute: true
}
}
})
</script>
</dom-module>