具有默认值的聚合物对象属性

彼得

我想在我的自定义元素中设置一个options对象属性,当用户不提供它时它将采用默认值。

<!DOCTYPE html>
<html>
<head>
    <script src="bower_components/platform/platform.js"></script>
    <link rel="import" href="bower_components/polymer/polymer.html">
</head>
<body>
    <my-element options="{{{
                option_1: 'val1',
                option_2: 'val2',
                allow_this: true,
                allow_that: false
            }}}">
    </my-element>
</body>
</html>

<polymer-element name="my-element" attributes="options">
    <template>
        <ul>
            <!-- ... -->
        </ul>
    </template>

    <script>
        Polymer('my-element', {
            options: {
                option_1: 'default_val1',
                option_2: 'default_val2',
                allow_this: false,
                allow_that: false
            }
        });
    </script>

</polymer-element>

上面的代码不起作用,因为在元素构造函数中指定的值始终会覆盖我尝试传递的值。如何设置它,以便将选项值设置为传递的值,而默认值仅用作备用值?

斯科特·迈尔斯

您可以使用属性中的JSON将对象值传递到已发布的属性中,但是它必须严格是有效的JSON(http://jsonlint.com/)。

在这种情况下,请尝试:

<my-element options='{
            "option_1": "val1",
            "option_2": "val2",
            "allow_this": true,
            "allow_that": false
        }'>
</my-element>

注意属性上的单引号和JSON本身内的双引号。JSON规范要求双引号。

请注意,这不是数据绑定,因此它不使用胡须符号{{ }}相反,您只是在属性中描述一个字符串值,Polymer会将其反序列化(JSON.parse)为对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

聚合物1.x:访问聚合物对象的所有属性

来自分类Dev

具有Javascript和属性的聚合物数据绑定

来自分类Dev

具有默认值的Javascript对象

来自分类Dev

具有默认值的Javascript对象

来自分类Dev

具有默认值和默认属性的对象参数接口

来自分类Dev

为什么此聚合物不以默认属性开头?

来自分类Dev

聚合物:观察具有数据绑定的阵列的属性变化

来自分类Dev

具有双向属性绑定的聚合物自定义元素

来自分类Dev

具有动态id值的聚合物自动节点查找

来自分类Dev

聚合物Web组件属性值未传递

来自分类Dev

如何访问聚合物中的属性值?

来自分类Dev

聚合物1.x:获得customStyles属性值

来自分类Dev

聚合物-如何创建具有绑定的元素

来自分类Dev

具有单向数据绑定的聚合物

来自分类Dev

具有数据绑定的背景聚合物图像

来自分类Dev

具有固定行和列的聚合物网格

来自分类Dev

具有聚合物元素的XMSerializer暴露阴影dom

来自分类Dev

在Rapidminer中添加具有默认值的新属性

来自分类Dev

附加属性在样式中始终具有默认值

来自分类Dev

嵌套字典到具有默认值的对象

来自分类Dev

具有其自身默认值的对象解构分配

来自分类Dev

样式仅在具有布局属性的元素内应用于自定义聚合物元素的样式

来自分类Dev

AngularJS 的 ng-init 的 Angular 等价物,在范围内具有默认值

来自分类Dev

使用反射获取对象的所有属性-但仅获取对象为其具有值的属性(不是默认值或null)

来自分类Dev

基于属性的聚合物RTL文本

来自分类Dev

聚合物属性更改功能

来自分类Dev

聚合物:确定何时加载属性?

来自分类Dev

聚合物-动态注册属性

来自分类Dev

聚合物属性更改功能

Related 相关文章

热门标签

归档