vue使用中报错及bug问题怎样解决呢?

Admin 2022-09-13 群英技术资讯 410 次浏览

在日常操作或是项目的实际应用中,有不少朋友对于“vue使用中报错及bug问题怎样解决呢?”的问题会存在疑惑,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。


  • 出现function () { [native code] }错误的解决

控制台输出错误:

[Vue warn]: Unknown custom element: <p1> - did you register the component correctly? 
For recursive components, make sure to provide the "name" option.

页面提示:

function () { [native code] },无法出现我们想要的内容

页面代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="vue">
	<!-- 下面这行代码出错-->
    <p1>{{currentTime1}}</p1></br>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
    var vm=new Vue({
        el:"#vue",
        data:{
            message:"hello world"
        },
        methods:{
            currentTime1: function () {
              return Date.now();//返回当前时间戳
          }
        }
    });
</script>
</body>
</html>

综上错误,究其原因就是新人对“计算属性”:computed和“事件处理”:methods傻傻分不清楚。根据官方文档总结如下:

对于任何复杂逻辑,你都应当使用计算属性。其余可以使用methods处理。

https://cn.vuejs.org/v2/guide/computed.html?

所以,下次如果再出现function () { [native code] },请使用对应的方法获取值。

这里的methods方法就应该使用currentTime1()调用,计算属性computed就应该使用currentTime2调用。

完整methods方法和计算属性对比运行代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="vue">
    <p1>{{currentTime1()}}</p1></br>
    <p1>{{currentTime2}}</p1>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
    var vm=new Vue({
        el:"#vue",
        data:{
            message:"hello world"
        },
        methods:{
            currentTime1: function () {
              return Date.now();//返回当前时间戳
          }
        },
        computed:{  //存在缓存,建议不经常的变化的在次操作
            currentTime2:function () {
                return Date.now();
            }
        }
    });
</script>
</body>
</html>

页面效果:


vue使用过程中遇到的bug及解决

1.用event.target操作当前元素出现bug

改为用event.currentTarget。

2.data数据更新之后渲染页面是异步的

所以要在$nextTick里面,DOM元素更新之后再操作DOM

3.v-cloak解决网络不好时页面显示双花括号{{}}问题

<template>
  <div id="app">
    <div v-cloak>{{ item.title }}</div>
  </div>
</template>
<style>
  [v-cloak] {
      display: none;
  }
</style>

4.v-pre跳过组件和子组件的编译过程

比如<span v-pre>{{ instead }}</span>渲染出来的是{{ instead }}字符串,不会再js中找instead这个数据

5.element的navMenu导航菜单的index不能用数字

而要用字符串。

解决办法: :index = "index + ‘’"    转化成字符串

6.vue中main.js一引入sass文件就报错

提示路径找不到或者依赖找不到,是因为webpack.base.conf.js中

{
        test: /\.scss$/,
        loaders: ["style", "css", "sass"]
      }

重复配了,把它删掉就好了(新版的vue-cli默认配置了这个)

7.所有的v-if最好都加上key

否则因为相同标签元素复用会导致意想不到的bug


到此这篇关于“vue使用中报错及bug问题怎样解决呢?”的文章就介绍到这了,更多相关vue使用中报错及bug问题怎样解决呢?内容,欢迎关注群英网络技术资讯频道,小编将为大家输出更多高质量的实用文章! 群英智防CDN,智能加速解决方案
标签: vue

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服