2017-04-10 45 views

回答

4

通知:

可以设置为TRUE | FALSE。假设您有parent-elementchild-element。工作实例

父母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> 

正如你可以看到,我们有1个属性调用test其传播到子元素,在这里我们可以用它操作。

儿童element.html:

<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这真棒,我们不需要照顾更新child-element内的财产,但如何知道财产test已更改?那么,他不能。

而这里来notify: true。如果你设置它,你不必关心通知parent-elementchild-element,test属性已被更改。

不久,物业testparent-elementchild-element将同时更新

反映到属性:

正如名字已经说,当你设置这部分物业,它的价值将是可见主机元素的属性。最好在一些例子中展示这一点。

Polymer我们知道,设置一些绑定到一些元素的属性需要$符号。

那么,这不能在任何地方使用。比方说,我们需要foo-attribute里面的custom-elem

因为foo-attribute被声明为属性而不是属性,它的值在元素内不可见。所以我们需要一些属性代表属性和属性的东西。

所以有些工作比如,一些真实的情况是这样的:

<dom-module id='parent-element'> 
    <template> 
    <style> 
     child-elemet[foo='bar'] {background-color: green} 
     child-element[foo='foo'] {background-color: red} 
    </style> 
    <child-element foo="{{test}}"></child-element> 
    </template> 

    <script> 
    Polymer({ 
     is: "parent-element", 
     properties: { 
     test: { 
      value: "bar" 
     } 
     } 
    }) 
    </script> 
</dom-module> 

在这种情况下,CSS将无法正常工作,因为foo是属性(不是属性)和CSS被应用在属性只。

要使其正常工作,我们必须在child-element内的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将成为属性和属性。这时,CSS将在child-element被应用,我们将能够与foo价值在里面工作child-element