角度-偶尔:“ ReferenceError:未定义$”

时间:2019-11-14 05:58:59

标签: jquery angular

我知道也有类似的问题,但这不是完全一样的。仅仅是因为这几乎每次都有效,并且偶尔会失败。

我在Angular中有以下代码。

-在组件顶部

  

声明var $:任意;

-在 ngOnInit()

期间的组件代码中
  const nav = $('header');

在这里变得奇怪。这是我的标题,在每个页面上执行。每天被击中1,000次。它的工作时间超过99%。我在Angular 5中开始了该项目,升级为6,升级为7。在极少数情况下,我总是遇到以下错误。为什么??

我永远无法重新创建它,也无法弄清它为什么会发生。我已经忍受了很多年,却一无所知。知道如何追踪吗?我尝试使用JQUERY代替,但这没有什么区别。

    ReferenceError: $ is not defined
    at HeaderComponent.push../src/app/master/controls/header/header.component.ts.HeaderComponent.ngOnInit (https://www.example.com/main.02e5859888e52b1dd87a.js:142368:9)
    at checkAndUpdateDirectiveInline (https://www.example.com/main.02e5859888e52b1dd87a.js:55800:19)
    at checkAndUpdateNodeInline (https://www.example.com/main.02e5859888e52b1dd87a.js:57064:20)
    at checkAndUpdateNode (https://www.example.com/main.02e5859888e52b1dd87a.js:57026:16)
    at prodCheckAndUpdateNode (https://www.example.com/main.02e5859888e52b1dd87a.js:57567:5)
    at Object.updateDirectives (https://www.example.com/main.02e5859888e52b1dd87a.js:140269:2632)
    at Object.updateDirectives (https://www.example.com/main.02e5859888e52b1dd87a.js:57355:72)
    at checkAndUpdateView (https://www.example.com/main.02e5859888e52b1dd87a.js:57008:14)
    at callViewAction (https://www.example.com/main.02e5859888e52b1dd87a.js:57249:21)
    at execComponentViewsAction (https://www.example.com/main.02e5859888e52b1dd87a.js:57191:13)

1 个答案:

答案 0 :(得分:1)

jQuery有时可能需要花费一些时间来加载。如何加载jquery,是从CDN还是从node_modules作为依赖项。

最佳做法是添加

"scripts": [
  "node_modules/jquery/dist/jquery.min.js"
]

在angular.json中

PS:在这种情况下,不建议使用jQuery。如果要获取元素引用,可以通过ViewChild()

<header #myname>
@ViewChild('myname') header;