![](/img/trans.png)
[英]Why I get 'avoid using JavaScript unary operator as property name' in vue.js?
[英]Vue.delete warning to avoid using JavaScript unary operator as property name on click
使用 Vue.delete 時收到以下警告:
[Vue warn]: Error compiling template: avoid using JavaScript unary operator as property name: "delete(testObj,)" in expression @click="Vue.delete(testObj,'label')"
我可以在其他任何地方使用 Vue.delete,而且看起來還不錯。 我用錯了嗎?
new Vue({ el: '#app', data() { return { testObj: { label: "The label" } }; } });
<div id="app"> {{testObj.label}} <button @click="Vue.delete(testObj,'label')">Delete</button> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.js"></script>
全局Vue
在您的模板中將不可用。 模板中的所有內容都以當前 Vue實例為范圍,因此您實際上是在嘗試訪問this.Vue
。 嘗試訪問全局Vue
的任何屬性都行不通。
您可以在模板中使用$delete
而不是Vue.delete
。
https://v2.vuejs.org/v2/api/#vm-delete
new Vue({ el: '#app', data() { return { testObj: { label: "The label" } }; } });
<div id="app"> {{testObj.label}} <button @click="$delete(testObj, 'label')">Delete</button> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.js"></script>
我要補充一點,您看到的特定錯誤消息更普遍地與嘗試使用任何名為delete
的屬性有關,但這是一個有爭議的問題,因為無論如何您都應該使用$delete
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.