初始化Object类型的Polymer属性

时间:2016-03-07 17:37:23

标签: polymer polymer-1.0

Polymer({
            is: "sustenagro-matrix",
            properties: {
                numbers: Number,
                params: {},
                space: String
            },
            ready: function() {
                Matrix(this.space, this.params);
            }
        });

<sustenagro-matrix numbers="1" params="{ 
                    x: 10,
                    y: 10,
                    label_x: 'Indice da sustentabilidade',
                    label_x: 'Indice de eficiência',
                    range_x: [0,150],
                    range_y: [0,150],
                    quadrants: [5,5]
                    }" space="#matrix1">
            </sustenagro-matrix>

这不起作用:

                 params="{ 
                    x: 10,
                    y: 10,
                    label_x: 'Indice da sustentabilidade',
                    label_x: 'Indice de eficiência',
                    range_x: [0,150],
                    range_y: [0,150],
                    quadrants: [5,5]
                 }"
params传递但不是作为对象。有谁知道我为什么以及如何解决它?

这里有一段js文件,可以给你一个更好的主意

var width = params['width'] || 640;
var height= params['height'] || 480;
var x= params['x'] || 0;
var y= params['y'] || 0;
var label_x= params['label_x'] || 'label X';
var label_y= params['label_y'] || 'label Y';
var rx= params['range_x'] || [-4, 4];
var ry= params['range_y'] || [-1, 1];
var qds= params['quadrants'] || [4, 3];
var recomendations= params['recomendations'] || [];

它已经作为字符串传递,js文件获取所有默认值而不是我传递的vaues ...

2 个答案:

答案 0 :(得分:2)

传入params对象时,必须使用正确的JSON表示法。

params='{ "x": 10, 

确保在外部字符串params='...'中使用单引号,并对对象中的所有键和字符串使用双引号("key": value)。

此外,您应该将属性的类型设置为Object而不是{}

        properties: {
            numbers: Number,
            params: Object,

答案 1 :(得分:1)

也许

<sustenagro-matrix numbers="1" params='{ 
                "x": 10,
                "y": 10,
                "label_x": "Indice da sustentabilidade",
                "label_x": "Indice de eficiência",
                "range_x": [0,150],
                "range_y": [0,150],
                "quadrants": [5,5]
                }' space="#matrix1">