为什么使用jQuery的Javascript代码有时不';t在Angular2应用程序中侦听事件?
很久以前,我们购买了它,并在angularJS应用程序中使用了它,没有任何问题。为什么使用jQuery的Javascript代码有时不';t在Angular2应用程序中侦听事件?,javascript,jquery,angularjs,angular,Javascript,Jquery,Angularjs,Angular,很久以前,我们购买了它,并在angularJS应用程序中使用了它,没有任何问题。 现在,对于另一个项目,我们已经切换到Angular 2,我们想要使用相同的主题,但我们得到了一个奇怪的行为:有时工作如预期,但大多数时间不工作。 我们已经使用firefox控制台检查了代码,这是工作时的结果: 这是不工作时的输出控制台: 出于(我的)未知原因,有时materialize.min.js没有监听事件。 不幸的是,由于版权问题,我无法发布materialize.min.js源代码,但我可以发布我的: in
现在,对于另一个项目,我们已经切换到
Angular 2
,我们想要使用相同的主题,但我们得到了一个奇怪的行为:有时工作如预期,但大多数时间不工作。我们已经使用firefox控制台检查了代码,这是工作时的结果:
这是不工作时的输出控制台:
出于(我的)未知原因,有时
materialize.min.js
没有监听事件。不幸的是,由于版权问题,我无法发布
materialize.min.js
源代码,但我可以发布我的:index.html
<html>
<head>
<base href="/">
<title>Angular QuickStart</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 1. Load libraries -->
<!-- Polyfill(s) for older browsers -->
<script src="node_modules/core-js/client/shim.min.js"></script>
<script src="node_modules/zone.js/dist/zone.js"></script>
<script src="node_modules/reflect-metadata/Reflect.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<!-- 2. Configure SystemJS -->
<script src="systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
<link href="css/materialize.min.css" type="text/css" rel="stylesheet" media="screen,projection">
<link href="css/style.min.css" type="text/css" rel="stylesheet" media="screen,projection">
<link href="css/layouts/style-fullscreen.css" type="text/css" rel="stylesheet" media="screen,projection">
</head>
<!-- 3. Display the application -->
<body>
<my-app>Loading...</my-app>
<!--materialize js-->
<script
src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>
<script type="text/javascript" src="js/materialize.min.js"></script>
</body>
</html>
角度快速启动
System.import('app').catch(函数(err){console.error(err);});
加载。。。
应用程序组件.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<header-navbar></header-navbar>
<div id="main">
<!-- START WRAPPER -->
<div class="wrapper">
<navbar></navbar>
<section id="content">
<div class="container">
<router-outlet></router-outlet>
</div>
</section>
</div>
</div>
`
})
export class AppComponent { }
从'@angular/core'导入{Component};
@组成部分({
选择器:“我的应用程序”,
模板:`
`
})
导出类AppComponent{}
编辑即使我使用jQuery的本地副本也无法正常工作。如果您的materialize.min.js依赖jQuery,我会怀疑它有时能正常工作,而不是其他原因是您的CDN链接并非总是正确加载。我可能建议下载jQuery的副本并从您控制的本地源加载它
编辑:当你从本地源加载时说“不工作”,你的意思是它有时仍然工作,但不一致吗?或者你的意思是根本不工作?有时仍在工作,在接下来的几天里,我将尝试使用服务器端渲染来查看是否有改进