2.0.0-rc.7
1.x vueプロジェクトを2.0.0に変更しようとしていますが、警告が表示されます
main.js:20715 [Vue warn]:プロパティまたはメソッド "index"はインスタンスで定義されていませんが、レンダリング中に参照されます。 dataオプションでリアクティブデータプロパティを宣言してください。 (コンポーネントにあります
)
コード:
<template>
<div>
...
<a class="ui red label " v-for="(tag,index) in tags">
{{tag}}
<i class="delete icon" v-on:click="deleteTag(index)"></i>
</a>
...
</div>
<template>
<script>
module.exports = {
data : function () {
return {
//form tags
tags:[],
}
},
methods : {
deleteTag : function (deleteIndex) {
this.tags.splice(deleteIndex,1);
}
}
}
</script>
この警告を削除するにはどうすればよいですか?
ついに問題を発見しました。元のコードを次のように変更するのを忘れました。
(タブ、インデックス)
別のファイルで
暖かい:
<a class="item" v-for="tab in tabs" :class="{active : activeTab==index}" @click="toggleActiveTab(index)">
{{tab.name}}
</a>
警告なし:
<a class="item" v-for="(tab,index) in tabs" :class="{active : activeTab==index}" @click="toggleActiveTab(index)">
{{tab.name}}
</a>
最初にこの投稿を許してください、しかし私は同様の状況を経験しています。
Vue.jsバージョン
2.1.6
Vuex.jsバージョン
2.1.1
私のファイルactions.js
export const addForm =({ディスパッチ})=> { ディスパッチ( 'ADD_FORM') } export const deleteForm =({ディスパッチ})=> { ディスパッチ( 'DELETE_FORM') }
と私のcomponent.vue
<テンプレート> <ul class = "dropdown-menu"> <li> <@ click = "addForm">保存</a> </ li> <li> <@ click = "deleteForm">削除</a> </ li> </ ul> </ template>
これが結果です
vue.common.js?e881:519 [Vue warn]:プロパティまたはメソッド "addForm"はインスタンスで定義されていませんが、レンダリング中に参照されます。 dataオプションでリアクティブデータプロパティを宣言してください。
vue.common.js?e881:519 [Vue warn]:プロパティまたはメソッド "deleteForm"はインスタンスで定義されていませんが、レンダリング中に参照されます。 dataオプションでリアクティブデータプロパティを宣言してください。
この警告を修正するにはどうすればよいですか?
あなたが定義するべきではありません@carvalhoviniciusluiz actions
コンポーネントには、以下を参照してください: http://vuex.vuejs.org/en/actions.html#dispatching -actions・イン・コンポーネント
最も参考になるコメント
ついに問題を発見しました。元のコードを次のように変更するのを忘れました。
別のファイルで
暖かい:
警告なし: