angular - 更改路由 Jquery 不工作后,再次刷新时正常工作
问题描述
当在 angular 中加载 Index.html 文件时,它的工作非常完美。但是每当将路由主页更改为另一个页面然后 Jquery 不加载,然后我检查到控制台但在控制台中明确没有任何错误要显示,然后我再次刷新到该页面,现在它正在工作。简而言之,何时更改它的路由;s 不能工作 jquery 到另一个页面。
我正在创建一个带有引导设计的两个组件。当将一个组件更改为第二个组件时,jquery 不加载并再次刷新该页面,它工作得很好
索引.html
<!doctype html>
<html lang="en">
<head>
<base href="/">
<!-- Basic Page Needs
================================================== -->
<meta charset="utf-8">
<title>JRTechnolab</title>
<meta name="description" content="">
<meta name="author" content="">
<!-- Mobile Specific Metas
================================================== -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
name="viewport">
<!-- CSS
================================================== -->
<!-- Bootstrap -->
<link rel="stylesheet" href="assets/css/bootstrap.min.css">
<!-- Template styles-->
<link rel="stylesheet" href="assets/css/style.css">
<!-- Responsive styles-->
<link rel="stylesheet" href="assets/css/responsive.css">
<!-- FontAwesome -->
<link rel="stylesheet" href="assets/css/font-awesome.min.css">
<!-- Animation -->
<link rel="stylesheet" href="assets/css/animate.css">
<!-- Prettyphoto -->
<link rel="stylesheet" href="assets/css/prettyPhoto.css">
<!-- Owl Carousel -->
<link rel="stylesheet" href="assets/css/owl.carousel.css">
<link rel="stylesheet" href="assets/css/owl.theme.css">
<!-- Flexslider -->
<link rel="stylesheet" href="assets/css/flexslider.css">
<!-- Flexslider -->
<link rel="stylesheet" href="assets/css/cd-hero.css">
<!-- Style Swicther -->
<link id="style-switch" href="assets/css/presets/preset3.css" media="screen" rel="stylesheet" type="text/css">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. -->
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<script src="js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Style switcher start -->
<div class="style-switch-wrapper">
<div class="style-switch-button">
<i class="fa fa-sliders"></i>
</div>
<h3>Style Options</h3>
<button id="preset1" class="btn btn-sm btn-primary"></button>
<button id="preset2" class="btn btn-sm btn-primary"></button>
<button id="preset3" class="btn btn-sm btn-primary"></button>
<button id="preset4" class="btn btn-sm btn-primary"></button>
<button id="preset5" class="btn btn-sm btn-primary"></button>
<button id="preset6" class="btn btn-sm btn-primary"></button>
<br /><br />
<a class="btn btn-sm btn-primary close-styler pull-right">Close X</a>
</div>
<!-- Style switcher end -->
<div class="body-inner">
<app-root></app-root>
<!-- initialize jQuery Library -->
<script type="text/javascript" src="assets/js/jquery.js"></script>
<!-- Bootstrap jQuery -->
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
<!-- Style Switcher -->
<script type="text/javascript" src="assets/js/style-switcher.js"></script>
<!-- Owl Carousel -->
<script type="text/javascript" src="assets/js/owl.carousel.js"></script>
<!-- PrettyPhoto -->
<script type="text/javascript" src="assets/js/jquery.prettyPhoto.js"></script>
<!-- Bxslider -->
<script type="text/javascript" src="assets/js/jquery.flexslider.js"></script>
<!-- CD Hero slider -->
<script type="text/javascript" src="assets/js/cd-hero.js"></script>
<!-- Isotope -->
<script type="text/javascript" src="assets/js/isotope.js"></script>
<script type="text/javascript" src="assets/js/ini.isotope.js"></script>
<!-- Wow Animation -->
<script type="text/javascript" src="assets/js/wow.min.js"></script>
<!-- SmoothScroll -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/smooth-scroll/16.1.0/smooth-scroll.min.js"></script>
<!-- Eeasing -->
<script type="text/javascript" src="assets/js/jquery.easing.1.3.js"></script>
<!-- Counter -->
<script type="text/javascript" src="assets/js/jquery.counterup.min.js"></script>
<!-- Waypoints -->
<script type="text/javascript" src="assets/js/waypoints.min.js"></script>
<!-- Template custom -->
<script type="text/javascript" src="assets/js/custom.js"></script>
</div>
</body>
</html>
应用程序路由.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { ContactComponent } from './contact/contact.component';
const routes: Routes = [
{ path: '', redirectTo:'home',pathMatch:'full' },
{ path: 'home', component: HomeComponent },
{ path: 'contact', component: ContactComponent },
];
@NgModule({
imports: [
CommonModule,RouterModule.forRoot(routes)
],
exports: [RouterModule]
})
export class AppRoutingModule { }
Jquery 未加载到角度最新 8 Plus 版本中的另一个页面
解决方案
亲爱的朋友我解决了这个问题查看答案
在您的 component.ts 文件中,有一个要命名的函数是 ngOnInit。所以可以加载Css和Js文件的路径是ngOnInIt函数。该功能基本上首先运行到第一次加载组件时。
回答:
home.component.ts
import { Component, OnInit, ElementRef, Inject } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import * as $ from 'jquery';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
constructor(private elementRef: ElementRef,@Inject(DOCUMENT) private doc )
{
}
ngOnInit()
{
let link1: HTMLLinkElement = this.doc.createElement('link');
link1.setAttribute('rel', 'amphtml');
link1.setAttribute('href', '../assets/css/bootstrap.min.css');
this.doc.head.appendChild(link1);
let link: HTMLLinkElement = this.doc.createElement('link');
link.setAttribute('rel', 'amphtml');
link.setAttribute('href', '../assets/css/owl.carousel.css');
this.doc.head.appendChild(link);
var s14 = document.createElement("script");
s14.type = "text/javascript";
s14.src = "../assets/js/bootstrap.min.js";
this.elementRef.nativeElement.appendChild(s14);
var s1 = document.createElement("script");
s1.type = "text/javascript";
s1.src = "../assets/js/style-switcher.js";
this.elementRef.nativeElement.appendChild(s1);
}
}
它工作正常。
推荐阅读
- random - for 循环中的 if 语句(随机数生成器)
- c# - 一个 Select 语句返回 uint 而另一个在同一列上返回 Int64?
- c# - 与微软 BotFramework 集成的 Bing Speech API
- file - 错误加载项目无法加载模块intellij idea
- apache-kafka - 如何停止 KafkaSpout?
- python - 如何在我的模型中使用 OAuth 的用户模型作为外键?
- javascript - Javascript:如果没有找到键,则在 json 数组中查找并推送到数组对象
- c# - 如何在 WPF 中模仿这种行为?
- c - 调试时使用scanf/printf,Eclipse
- python - Python:不可散列的类型:NLTK 的“列表”