报错问题修改 Vue 项目报错:‘$‘ is not defined ( no-undef )

这篇具有很好参考价值的文章主要介绍了报错问题修改 Vue 项目报错:‘$‘ is not defined ( no-undef )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vue 项目报错:‘$‘ is not defined ( no-undef )

错误原因是不认识 $ 符,他是 JQuery 中得符号,引入了 JQuery

文件里的函数报错onclick is not defined问题(作用域问题)

window.onload = function (){

onload = function (){

第二种方法,改为 function del(obj){} , 则报错  del is not defined at HTMLAnchorElement.onclick

第三种方法改为 del = function(obj){},则也可以成功执行功能

onclick是要求全局函数  在onload里面的算局部函数 (当一个函数在另一个函数内创建,这个函数处于局部作用域中,就和局部变量一样,在全局环境下访问不到)

     do = function(){}的写法会把do函数作为全局作用域函数(因为前面没有用变量var接收),相当于windows对象作为他的作用域,所以可以被调用到。

     在函数体外使用var关键字定义的变量和在函数体内未用任何关键字声明的变量是全局变量,在函数体内使用var关键字声明的变量是局部变量。

  Hoisting 是 JavaScript 将所有声明提升到当前作用域顶部的默认行为(提升到当前脚本或当前函数的顶部)正因如此,JavaScript 函数能够在声明之前被调用,

     使用表达式定义的函数不会被提升。  

     定义函数的方式

     1、函数声明

     function sum(  ){   }

    2、函数表达式

    var sum=function(  ){  }

首先,window.onload事件是在整个页面包括dom结构、图片等等全部加载完成之后才会触发。

其次,HTML加载时由上往下的,在HTML加载的时候,遇到function关键字,声明一个函数的时候,就会在内存中开辟一个新的空间来对函数进行存储,方便以后进行调用。

所以,当将function fun(){}写到window.onload()=function(){}内部的时候,需要整个页面加载完成的之后,才声明这个函数,也就意味着,当HTML加载到οnclick="fun()"的时候,window.οnlοad=function(){}里面的函数f还没有被声明,这时候内存中就找不到function fun(),于是就会报错。

那么,将function fun()移到window.onload()=function(){}外,则HTML加载到<head></head>的时候就会声明函数f了,所以进行onclick绑定的时候就能够在内存中找到fun()并进行调用。这是方法3成功的原因

而方法2中的失败,当整个页面加载完毕后,给a标签添加删除按钮,而此时的onclick事件需要一个全局函数,当第二种方法,改为 function del(obj){} 在onload标签,就不再是全局函数,所以报错了

onclick 执行的是 window 环境中的方法,所以:将 this 中的方法关联到 window 上即可。

created() {
  window.openPerson = this.openPerson
}

οnclick=“方法名”

<div οnclick="save()"></div>
但是今天我遇到一个问题,在js中写的方法调不到

//正确的是
save=function(){}
//错误的
var save=function(){}
function save(){}


有这么几种情况:

1、在函数中写的方法 

 $(function () {
        function save() {     
        }
    })
 原因:save()他不是全局的方法了,onclick自然找不到他

解决方案:将save()设置为全局的

$(function () {
        window.save= function () {
        }
    })

vue报错: error ‘xxx‘ is defined but never used no-unused-vars

报错原因:因为搭建的vue项目选择了eslint校验规范->就是你定义了某个变量,但是你没有使用它.eslint规范就是你要么不定义,要么定义了就一定得用.

ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误.

在许多方面,它和JSLint、JSHint相似.

解决方法:

在package.json文件内加入如下代码(保存后重启项目!!!)

"rules": {
    "generator-star-spacing": "off",
    "no-tabs":"off",
    "no-unused-vars":"off",
    "no-console":"off",
    "no-irregular-whitespace":"off",
    "no-debugger": "off"
},

在运行npm run serve时报错  Module not found: Error: Can't resolve 'axios'

原因:没有安装axios插件 在运行项目的地方npm install --save axios

解决办法 
npm install --save axios文章来源地址https://www.toymoban.com/news/detail-438198.html

到了这里,关于报错问题修改 Vue 项目报错:‘$‘ is not defined ( no-undef )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3 使用require报错:require is not defined

    1.报错原因 vue3使用vite打包 里面没有require方法, webpack 里面有这个方法 2.解决方案 使用import 代替 *注: 资源可使用import.meta.globEager(“…/*.png”) ; 动态引入,需要给 css 路径加括号 vite官网静态资源处理 new URL(url, import.meta.url) import.meta.url : ESM 的原生功能,会暴露当前模块的

    2024年02月07日
    浏览(35)
  • vue3+vue-cli 报错 ‘defineProps‘ is not defined

      确保这些都存在,仍报错则需要修改node版本的 本人改到最新版就没什么问题了

    2024年02月12日
    浏览(46)
  • 解决浏览器 require is not defined 的报错问题

    在node环境中引入了一些包,用webpack打包后放在浏览器环境中,浏览器报错 require is not defined 。 这是因为 require 是node环境下的CommonJs,而 import 是浏览器环境下的ESModule。ESModule不认识require。 require 是node的一个私有的全局方法。 那就让打包出来的代码别有require,换句话说,

    2024年02月15日
    浏览(40)
  • uniapp 小程序 使用 new FormData 报错,is not defined 问题解决

    new FormData 只适用于web端,uniapp 小程序不适用,这里当时也卡了一下,随便用个js文件发现其实FormData也使用不了,所以如果要配置formData 的格式 无法使用FormData,会报 FormData is not defined. 解决方法1: 使用uniapp 自带的api uni.uploadFile(OBJECT)       官网api地址:uni.uploadFile(OBJECT) | u

    2024年02月11日
    浏览(47)
  • vue3使用process报错Uncaught ReferenceError: process is not defined

    之前使用 vue-cli创建项目 时,使用 process.env.变量名 获取环境变量(在根目录下配置环境配置文件之后)。 今天使用 vite+vue3 创建项目时,使用相同的方法却获取不到,还报以下错误,这是为什么呢? 后来查看了VITE官网才知道,使用vite+vue的时候环境变量的获取方式变成如下

    2024年02月11日
    浏览(36)
  • uniapp 小程序 使用 new FormData 报错,is not defined 问题解决(没解决)

    new FormData 只适用于web端,uniapp 小程序不适用,这里当时也卡了一下,随便用个js文件发现其实FormData也使用不了,所以如果要配置formData 的格式 无法使用FormData,会报 FormData is not defined. 原文 原文 原文 最终代码:

    2024年01月19日
    浏览(41)
  • ReferenceError: require is not defined 【vue3 +vite +setup语法使用报错】

    原本我们在vue2时代,可以使用require 导入静态资源,如下所示 但在vue3中的vite没有require方法定义的使用,说白了就是不使用require方法进行资源的导入,而是使用新的方法。详情请看官网。 Vite官网 我这里提供两种方法: 方法1: 使用 import导入资源 方法2: 直接使用 new URL(

    2024年02月13日
    浏览(32)
  • 解决项目迁移vite引入图片资源报require is not defined的问题

    Vite是一种轻量快速的前端构建工具,能够显著提升前端开发体验,而且官方已经发布v4版本,相对比较稳定。在把VueCli搭建的项目迁移到Vite的过程中遇到了个问题,下面分享一下问题及解决办法。 在 script 标签里面引入的图片资源没生效,然后一看控制台,报错显示 require

    2024年02月03日
    浏览(35)
  • Vue3报错:Property “xxx“ was accessed during render but is not defined on instance.

    Vue3报错:Property “xxx” was accessed during render but is not defined on instance. 翻译:属性“xxx”在呈现期间被访问,但没有在实例上定义。 其实就是在模板上有,但是在script上没有定义 很多同学跟说这不是报错,是警告,其实只要是在渲染页面时出现的问题,我们都可以说成是报错

    2023年04月08日
    浏览(40)
  • 前端控制台报错is not defined

    背景: 前端控制台报错is not defined的bug,在一个页面渲染的模板里,多个接口都使用了同一个模板,但是接口返回的参数是不同的。有些接口返回了这个参数,另一些接口可能压根就没有这个参数。这个时候进行页面渲染,调用了那个不存在的参数,就报了is not defined的错。

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包