iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue开发时常见的错误有哪些
  • 548
分享到

Vue开发时常见的错误有哪些

2023-07-05 17:07:30 548人浏览 安东尼
摘要

今天小编给大家分享一下Vue开发时常见的错误有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装超时(install t

今天小编给大家分享一下Vue开发时常见的错误有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

安装超时(install timeout)

can’t not find ‘xxModule’ - 找不到某些依赖或者模块

这种情况一般报错信息可以看到是哪个包抛出的信息.,一般卸载这个模块,安装重新安装下即可.

data functions should return an object

这个问题是 vue 实例内,单组件的data必须返回一个对象;如下

export default {  name: 'page-router-view',      data () {      return {        tabs: [          {            title: '财务信息',            url: '/userinfo'          },          {            title: '帐号信息',            url: '/userinfo/base'          }        ]      }    }}

为什么要 return 一个数据对象呢? 官方解释如下: data
必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data
仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!简言之,组件复用下,不会造成数据同时指向一处,造出牵一发而动全身的破问题…

给组件内的原生控件添加事件,不生效了

<!--比如用了第三方框架,或者一些封装的内置组件; 然后想绑定事件--><!--// 错误例子1--><el-input placeholder="请输入特定消费金额 " @mouseover="test()"></el-input><!--// 错误例子2--><router-link :to="item.menuUrl" @click="toggleName=''">  <i :class="['fzicon',item.menuIcon]"></i>  <span>{{item.menuName}}</span></router-link><!--上面的两个例子都没法触发事件!!!--><!--究其原因,少了一个修饰符 .native--><router-link :to="item.menuUrl" @click.native="toggleName=''">  <i :class="['fzicon',item.menuIcon]"></i>  <span>{{item.menuName}}</span></router-link><!---->

我在函数内用了this.xxx=,为什么抛出Cannot set property &lsquo;xxx&rsquo; of undefined;

这又是this的套路了,this是和当前运行的上下文绑定的;

一般你在axios或者其他 promise , 或者setInterval 这些默认都是指向最外层的全局钩子.

简单点说:“最外层的上下文就是 window,vue内则是 Vue 对象而不是实例!”;

解决方案:

暂存法: 函数内先缓存 this , let that = this;(let是 es6, es5用 var)
箭头函数: 会强行关联当前运行区域为 this 的上下文;

Uncaught ReferenceError: xxx is not define;

实例内的 data 对应的变量没有声明,你导入模块报这个错误,那一定是导出没写好。

npm run dev 报端口错误!Error: listen EADDRINUSE :::8080

自己用 webpack搭脚手架的都不用我说了;Vue-cli 里面的 webpack 配置: config/index.js

dev: {    env: require("./dev.env"),    port: 8080, //  这里这里,若是这个端口已经给系统的其他程序占用了.改我改我!!!!!!    autoOpenBrowser: true,    assetsSubDirectory: "static",    assetsPublicPath: "/",    proxyTable: {      "/bp-api": {        target: "Http://new.d.st.cn",        changeOrigin: true,        // pathRewrite: {        //   "^/bp-api": "/"        // }    }},

the “scope” attribute for scoped slots &hellip;. replaced by “slot-scope” since 2.5

这个问题只出现老项目升级到 vue2.5+的时候, 提示就是 scope 现在要用 slot-scope 来代替,但是 scope 暂时可以用,以后会移除

单组件中里面的 import xxx from &lsquo;@/components/layout/xxx&rsquo;中的@是什么

这是 webpack 方面的知识,看到了也说下吧&hellip;webpack可以配置alias(也就是路径别名),玩过 linux 或者 mac 都知道。
依旧如上,会自己搭脚手架的不用我说了&hellip;看看 vue-cli 里面的;
文件名: build -> webpack.base.conf.js

resolve: {    extensions: [".js", ".vue", ".JSON"], // 可以导入的时候忽略的拓展名范围    alias: {      vue$: "vue/dist/vue.esm.js",        "@": resolve("src"),  // 这里就是别名了,比如@就代表直接从/src 下开始找起!!!      "~": resolve("src/components")    }},

Invalid prop: type check failed for prop “xxx”. Expected Boolean, Got String.

这种问题一般就是组件内的 props 类型已经设置了接受的范围类型, 而你传递的值却又不是它需要的类型,写代码严谨些 OK?

Unknown custom element: - did you reGISter the component correctly?

组件没有正确引入或者正确使用,依次确认

导入对应的组件
在 components 内声明
在 dom 区域声明标签

Unexpected token: operator xxxxx

大佬,这个一看就是语法错误啊,基本都是符号问题, 一般报错会给出哪一行或者哪个组件

跨域问题怎么破!比如No &lsquo;Access-Control-Allow-Origin&rsquo; header is present on the requested resource.

1: CORS , 前后端都要对应去配置,IE10+
2: nginx 反向代理,一劳永逸 <-- 线上环境可以用这个

线下开发模式,比如你用了vue-cli, 里面的 webpack 有引入了proxyTable这么个玩意, 也可以做接口反向代理。

// 在 config 目录下的index.jsproxyTable: {  "/bp-api": {    target: "http://new.d.st.cn",    changeOrigin: true,    // pathRewrite: {    //   "^/bp-api": "/"    // }  }}// target : 就是 api 的代理的实际路径// changeOrigin: 就是是变源,必须是...// pathRewrite : 就是路径重定向,一看就知道

Component template shold contain exactly one root element.If you are useing v-if on multiple elements , xxxxx

大体就是说,单组件渲染 DOM 区域必须要有一个根元素,不能出现同级元素. 可以用v-if和v-else-if指令来控制其他元素达到并存的状态。
换个直白的解释,就是有一个唯一的父类,包裹者; 比如一个 div(父包含块) 内部多少个同级或者嵌套都行,但是最外层元素不能出现同级元素!

以上就是“Vue开发时常见的错误有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: Vue开发时常见的错误有哪些

本文链接: https://www.lsjlt.com/news/353564.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么保证除完还是小数
    在 c 语言中,整数除法只能得到整数结果,要得到小数结果,需将操作数显式转换为浮点数:将一个操作数转换为浮点数,如 float result = num1 / (float)num2;将...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾不输出空行字符
    要阻止 c 语言程序结尾输出空行字符,可以使用以下方法:将 main 函数的返回值类型改为 void;在 main 函数中显式返回 0;调用 fflush(stdout) 函数刷新标准输...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾不输出空行数据
    在 c 语言中,可通过以下方法抑制 printf() 函数在程序结束时打印末尾空行:调用 fflush() 函数刷新缓冲区,立即输出所有数据;使用 setvbuf() 函数关闭缓冲,使数...
    99+
    2024-05-14
    c语言
  • c语言怎么让结尾无空行
    在 c 中去除结尾空行的方法:使用 fflush() 刷新缓冲区。使用 setvbuf() 将缓冲模式设置为 _ionbf。使用 printf 宏,它默认禁用缓冲。 如何在 C 语言中...
    99+
    2024-05-14
    c语言
  • c语言怎么输入实数赋值
    c语言中使用scanf()函数输入实数并赋值给变量:格式:scanf("%lf", &amp;variable);%lf是格式说明符,指定输入双精度浮点数;&...
    99+
    2024-05-14
    c语言
  • c语言怎么表达负数
    c语言中,负数以减号 (-) 表示,放在数字或变量前。负数运算规则包括:绝对值取正数;加正数或负数,结果取决于绝对值大小;乘或除以正数或负数,结果由符号奇偶性决定。负数的平方始终为正数,...
    99+
    2024-05-14
    c语言
  • c语言怎么输入Jac数列
    jacobi 数列的输入和生成方法分别有:1. 直接输入法:使用 scanf() 函数逐项输入数列。2. 递归生成法:使用递归公式生成数列,需初始化数列的前两项,然后按公式生成后续项。 ...
    99+
    2024-05-14
    c语言
  • c语言怎么把数组变成字符串
    在 c 语言中,将数组转换成字符串的方法包括:使用 sprintf() 将数组格式化为字符串。使用 strcpy() 将数组复制到字符串。使用 strncpy() 将指定长度的数组复制到...
    99+
    2024-05-14
    c语言
  • c语言怎么批量注释
    批量注释 c 语言代码的方法有:使用代码编辑器:使用快捷键或菜单命令自动添加 // 注释符号。使用注释工具:如 doxygen 和 cutter,批量添加行注释、块注释和文档注释。使用脚...
    99+
    2024-05-14
    python sublime c语言
  • c语言怎么把选中的全部注释
    c语言中注释选中内容可通过以下步骤实现:选中要注释的代码。根据使用的编辑器或ide,执行注释操作,例如在visual studio中右键单击并选择“注释所选内容”。添加注释内容。保存更改...
    99+
    2024-05-14
    sublime c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作