【问题标题】:Angular2 don't load external js file when i change the view当我更改视图时,Angular2 不加载外部 js 文件
【发布时间】:2017-04-24 11:22:37
【问题描述】:

我仍在学习 Angular 2,所以我可能在这里做错了什么。我有一个 HTML/CSS 模板,我正在尝试使它与 Angular 2 一起使用。我创建了一个包含少量组件的 Angular2 项目...

在 app.component.html 我有我的菜单

<ul class="clearfix">
     <li><a [routerLink]="['/']">Home</a></li>
     <li><a [routerLink]="['/link1']">Link1</a></li>
     <li><a [routerLink]="['/link2']">Link2</a> </li>
</ul>

当我单击菜单的一项时,它会将视图更改为我制作的组件,例如,当我单击 Link1 时,它会显示我拥有的 index.html 中的 link1 组件 (link1.component.html) 的视图

&lt;app-root&gt;Loading...&lt;/app-root&gt; 

并且我已经加载了所有的 CSS 和 JS 文件,所以当我点击菜单时出现问题,视图发生了变化,但 Angular2 不加载 index.html 中加载的 Javascript 它只有在我直接放置时才会这样做链接。

为了更清楚,如果我将直接链接放在浏览器 localhost:4200/link1 中,脚本会被加载,我可以看到动画或我在 index.html 中加载并在 link1.component 中调用的任何内容.html 但如果我在家并单击菜单中的链接 1,视图会发生变化,但动画或警报...不起作用。

我在控制台和 index.html 中没有收到任何错误,我只加载这两个脚本

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script type="text/javascript" src="/assets/js/site.min.js"></script>

【问题讨论】:

  • 你能分享你的index.html
  • @AngJobs 我在下面分享了它
  • 如果你真的想学Angular,把所有jquery脚本都删掉,关注Angular Style Guide
  • 完全删除 jquery,如果你想执行一些 dom,请使用指令。您可以将代码放在 github 或其他地方,以便有人可以帮助您

标签: javascript angular angular2-routing


【解决方案1】:

您可以在生命周期挂钩之一中运行 jquery。

不确定哪个是最好的 - 您需要阅读文档并查看哪个适合您的需求。

也许在 ngAfterViewChecked 之后。

https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html

export class Link1 implements ngAfterViewChecked {
    ngAfterViewChecked() {
        buildTree(){
    $('#FicheName_detailContent').height($('#NAMEsearch').height());
    if ($('#tvFicheName') != null) {
        $("#t_Search").val('');
        var isFull = $("ck_FullOrPartiell").checked;
        BuildTreeViewNAME($('#tvFicheName'), '', isFull, null);
     }
   }
}

(话虽这么说 - 很有可能您可以在不使用 jquery 的情况下构建视图,只需使用 角度。)

  • 请原谅格式化 - ipad 上的问题

【讨论】:

  • 我不知道为什么我的评分被低估了——我想这不会死
猜你喜欢
  • 1970-01-01
  • 2016-06-25
  • 2019-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-08
  • 2018-04-27
相关资源
最近更新 更多