解决控制台报错:Property or method “showInfo“ is not defined on the instance but referenced during render

Posted 小花皮猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决控制台报错: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可以读取到这个回调函数

以上是关于解决控制台报错:Property or method “showInfo“ is not defined on the instance but referenced during render的主要内容,如果未能解决你的问题,请参考以下文章

关于Vue报错(Property or method “xxx“ is not defined on the instance but referenced during render.)防踩坑

SpringBoot3整合MyBatis报错:Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

dubbo-admin-2.5.3 运行报错: Bean property 'URIType' is not writable or has an invalid

SpringBootMyBatis-plus 报错 sqlSessionFactory sqlSessionTemplate 最新解决办法

TypeError: Cannot destructure property `compile` of 'undefined' or 'null'

vuex报错:Property or method “$store“ is not defined on the instance but referenced during render. Make