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>
我应该怎么做才能消除这个警告?
终于找到问题了 忘记把原代码改成
(标签,索引)
在另一个文件中
警告:
<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
最有用的评论
终于找到问题了 忘记把原代码改成
在另一个文件中
警告:
没有警告: