2017-04-15 18 views

回答

1

您一般會直接引用它們,而無需前綴this.data.訪問模板的組件的data屬性。在你的情況下,這是一個問題,因爲它阻止你使用bracket notation

有兩種解決方法:

解決方法1:不要把你的JSON數據直接在組件data,在對象(例如colors)包裹。這樣,在模板中使用colors['color-1']將工作。

解決方案2:保留原樣的數據並編寫一個簡單的方法來獲取組件中的屬性,然後從模板中調用它。喜歡的東西:

methods: { 
    getProperty: function (name) { 
    return this[name]; 
    } 
} 

然後在模板:

<div v-bind:style="{ color: getProperty('color-1') }"></div> 
0

您可以使用連字符分隔的屬性作爲字符串。

<div v-bind:style='{ "color-1": data["color-1"] }'></div> 

Docs

0

您可以通過$數據訪問所有數據屬性:

{ "color-1": $data["color-1"] } 
相關問題