簡體   English   中英

Vue.delete 警告,以避免在單擊時使用 JavaScript 一元運算符作為屬性名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM