vuex报错:Property or method “$store“ is not defined on the instance but referenced during render. Make
Posted 程序猿向前跑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vuex报错:Property or method “$store“ is not defined on the instance but referenced during render. Make相关的知识,希望对你有一定的参考价值。
‘store’ is defined but never used no-unused-vars
最近在写vuex,报过一个这样的错误:
Property or method “$store” is not defined on the instance but referenced during render.
Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.
属性或方法“$store”未在实例上定义,但在渲染期间被引用。通过初始化该属性,确保该属性是反应性的,无论是在数据选项中,还是对于基于类的组件。
之后,我就定义了,没什么用,还是报相同错误!!!
最后自己尝试了好多方法,终于解决了
1.在mian.js 中,创建实例时,store应该小写,这是定义好了的,也可以写成store:Store
2.在store.js中,创建store实例时,应该大写Store,vuex内部定义的大写,变不了
3.vuex版本不对,获取不到store,vue默认vue3版本,vuex默认vuex4版本,vuex4只能在vue3中使用,在vue2中能使用vuex3,那么不能默认下载最新的版本
npm install vuex@3 --save
这样就可以解决获取不到store的问题了
解决控制台报错:Property or method “showInfo“ is not defined on the instance but referenced during render
前言
今天写一个vue的单击事件,发现报错了
源代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>初始vue</title>
<!-- 引入vue.js -->
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h2>欢迎学习:name</h2>
<button v-on:click="showInfo">点我提示信息</button>
</div>
<!-- 数据代理:通过一个对象代理另一个对象中属性的操作(读/写) -->
<script type="text/javascript">
function showInfo()
alert("你好!")
Vue.config.productionTip = false
const vm=new Vue(
el:'#root',
data:
name:'vue'
)
</script>
</body>
</html>
报错信息如下
解决问题
分析问题发现,是由于我的单击回调函数写的不对,我是用的js方式写的这个函数,但是在vue中读取不到这个函数,所以才会报错!
需要使用vue的一个属性:methods
把回调函数写在里面,才能读取到函数,传统js写法是不行的!
我们修改代码,把函数放到methods里面,需要去掉function,只需要保留函数名称以及基本格式
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>初始vue</title>
<!-- 引入vue.js -->
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h2>欢迎学习:name</h2>
<button v-on:click="showInfo">点我提示信息</button>
</div>
<!-- 数据代理:通过一个对象代理另一个对象中属性的操作(读/写) -->
<script type="text/javascript">
function showInfo()
alert("你好!")
Vue.config.productionTip = false
const vm=new Vue(
el:'#root',
data:
name:'vue'
,
methods:
showInfo()
alert("你好!")
)
</script>
</body>
</html>
再次点击按钮测试,发现已经解决问题
总结
在编写vue代码时,我们需要遵循vue的写法,不能一位的使用js代码去实现vue的功能
其他回调函数也是一样的写法,都要写在vue的属性methods里面,让vue可以读取到这个回调函数
以上是关于vuex报错:Property or method “$store“ is not defined on the instance but referenced during render. Make的主要内容,如果未能解决你的问题,请参考以下文章
解决控制台报错:Property or method “showInfo“ is not defined on the instance but referenced during render
解决控制台报错:Property or method “showInfo“ is not defined on the instance but referenced during render
vue.runtime.esm.js?a593:619 [Vue warn]: Property or method “value“ is not defined on the instance...
GraphQL: Object doesn't support property or method 'from'
踩坑记录-nuxt引入vuex报错store/index.js should export a method that returns a Vuex instance.
错误信息:Bean property 'sessionFactory' is not writable or has an invalid setter method.(Springm