gpt4 book ai didi

polymer - 属性应该传递对象吗?

转载 作者:行者123 更新时间:2023-12-01 08:59:09 28 4
gpt4 key购买 nike

当我将值传递给 polymer 元素属性时,我可以通过 polymer 的数据绑定(bind)传递一个对象。但是,如果我决定离开“polymer 土地”并想将属性设置为一个对象,我不能。我应该将对象传递给属性吗?

如果答案是“不,您应该为此使用方法”那么接下来的问题是,“我可以在不进入 Polymer 框架的情况下调用元素的方法吗?”例如,如果我有一个 Polymer 元素:

<hello></hello>

我想访问一个名为“world”的方法。在 Polymer 中是:

this.$.hello.world();

是否可以在不位于 Polymer 元素定义中的情况下调用此方法?

最佳答案

从 polymer 内部

正如您所指出的,在 Polymer 内部,可以使用数据绑定(bind)将对象绑定(bind)到已发布的属性:

<polymer-element name="other-el">
<template>
<hello-world persons="{{persons}}"></hello-world>
</template>
<script>
Polymer('other-el', {
created: function() {
this.persons = [{'name': 'Eric'}, {'name': 'Bob'}];
}
});
</script>
</polymer-element>

从 polymer 外部

从 Polymer 外部,Polymer 元素也支持属性的序列化数组/对象,如果它们的 property type is hinted :

<hello-world persons="[{'name': 'Eric'}, {'name': 'Bob'}]"></hello-world>

因为.persons是元素上的一个属性,所以也可以在JS中设置:

document.querySelector('hello-world').persons = [{'name': 'Eric'}, {'name': 'Bob'}];

关于polymer - 属性应该传递对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21867816/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com