2015-10-13 48 views
2

有一種vuejs組件調用我-COMP與給定的數據,我想重複其內容並打印出來:如何忽略定製令牌vue.js使用大括號

<my-comp json-data='[{"id":1,"text":"Hello"},{"id":2,"text":"World"}]' inline-template> 
    <div v-repeat="d: data"> 
     <div> 
      {{ d.id }} 
     </div> 
     <div> 
      {{ d.text }} 
     </div> 
    </div> 
</my-comp> 

而且它的工作原理如果在我的d對象的text屬性中沒有大括號,但是如果存在,則會拋出TypeError異常:TypeError: res is undefined並且我知道修復它的唯一方法是使用反斜槓轉義大括號:將{{ token }}更改爲{\{ token }\}

有沒有更方便的方法來忽略vuejs中的花括號或我做錯了什麼? 這裏是working code with no {{}},這裏是how {{}} breaks it &我使用的是0.12.16版本。

+0

我不確定您使用的是Vue的哪個版本,但是您可以在我相信的最新測試版中執行'json-data.literal ='...''。我不確定在這個版本中如何處理它。我想象只是試圖讀取元素本身的屬性可以工作,但Vue告訴我,組件是一個文本節點(我猜與'inline-template'有關的東西。 –

+0

latest stable one:v0.12.16 所以我我應該等到下一個穩定版本(v1。*) –

回答

0

如果傳遞的道具像你這樣,你想的Vue此內容評估,則需要使用其綁定::your-data="expression"

我已經更新了你在你的情況下,你不該fiddle

而且在你的組件的第一個元素中不會做v-for(你將有一個fragment instance

而且你不需要在你的Vue數據中做任何事情,因爲數組和對象在使用v-綁定指令。