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 警告]:属性或方法“index”未在实例上定义,但在渲染期间被引用。 确保在数据选项中声明反应数据属性。 (在组件中找到)

代码:

<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 = ({ dispatch }) => {
 调度('ADD_FORM')
 }

 export const deleteForm = ({ dispatch }) => {
 dispatch('DELETE_FORM')
 }

和我的 component.vue

 <模板>
 <ul class="下拉菜单">
 <李>
 <a @click="addForm">保存</a> 
 </li>
 <李>
 <a @click="deleteForm">删除</a>
 </li>
 </ul>
 </模板>

这是结果

vue.common.js?e881:519[Vue 警告]:属性或方法“addForm”未在实例上定义,但在渲染期间被引用。 确保在数据选项中声明反应数据属性。
vue.common.js?e881:519 [Vue 警告]:属性或方法“deleteForm”未在实例上定义,但在渲染期间被引用。 确保在数据选项中声明反应数据属性。

我该怎么做才能更正此警告?

@carvalhoviniciusluiz你不应该在一个组件上定义actions ,请参考: http ://vuex.vuejs.org/en/actions.html#dispatching -actions-in-components

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

6pm picture 6pm  ·  3评论

gkiely picture gkiely  ·  3评论

franciscolourenco picture franciscolourenco  ·  3评论

seemsindie picture seemsindie  ·  3评论

robertleeplummerjr picture robertleeplummerjr  ·  3评论