Polymer 我应该使用属性或属性来传递数据吗?

Polymer 我应该使用属性或属性来传递数据吗?,polymer,lit-element,lit-html,Polymer,Lit Element,Lit Html,在lit element中,在大多数情况下,通过属性和属性将数据从父组件传递到子组件会产生相同的结果 我想知道在哪种情况下我应该使用属性,而在哪种情况下使用属性?属性和属性之间的区别在于属性是在DOM中表示的,而属性不是。元素可以决定将属性反射回属性,但这有点正交。例如: <my-button raised></my-button> my按钮的实现可以决定是否将对属性的更改反映回属性。如果您想使用属性(例如CSS中的属性)进行样式设置,这非常有用 但是,通常情况下,您只

lit element
中,在大多数情况下,通过属性和属性将数据从父组件传递到子组件会产生相同的结果


我想知道在哪种情况下我应该使用属性,而在哪种情况下使用属性?

属性和属性之间的区别在于属性是在DOM中表示的,而属性不是。元素可以决定将属性反射回属性,但这有点正交。例如:

<my-button raised></my-button>
my按钮的实现
可以决定是否将对属性的更改反映回属性。如果您想使用属性(例如CSS中的属性)进行样式设置,这非常有用

但是,通常情况下,您只需分配属性,并让自定义元素决定是否将属性反射回属性。假设您希望以编程方式控制按钮,则只需分配属性

this.button_.raised = true;
而不是写作

this.button_.setAttribute('raised', true);
注意,这始终适用于自定义元素,甚至一些本机元素(例如,
input
value
也是一个属性)。但你不能写:

this.myDiv_.id = 'container';

因为
s没有属性,您必须使用
setAttribute()

为您的帖子得出一个结论:以首选方式使用属性。无论如何,我认为这不是一个完美的设计。在一个团队中,可能有人总是使用属性,而其他人总是使用属性,这将以混乱告终。
this.myDiv_.id = 'container';