Vue: [Vue警告]:プロパティまたはメソッド「インデックス」はインスタンスで定義されていませんが、レンダリング中に参照されます。

作成日 2016年09月27日  ·  3コメント  ·  ソース: vuejs/vue

Vue.jsバージョン

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>

この警告を削除するにはどうすればよいですか?

need repro

最も参考になるコメント

ついに問題を発見しました。元のコードを次のように変更するのを忘れました。

(タブ、インデックス)

別のファイルで

暖かい:

<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>

全てのコメント3件

ついに問題を発見しました。元のコードを次のように変更するのを忘れました。

(タブ、インデックス)

別のファイルで

暖かい:

<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・イン・コンポーネント

このページは役に立ちましたか?
0 / 5 - 0 評価