2017-04-24 73 views
1

我仍然在学习Angular 2,所以我可能在这里做错了什么。我有一个HTML/CSS模板,我试图使其与角2.工作,我已经创建了几个组件的Angular2项目...Angular2不会加载外部js文件当我改变视图

在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>

在i上的菜单中的一个项点击它改变了考虑到对于i例如由组件当我点击链接1它显示我LINK1组分(link1.component.html)在视图index.html我有

<app-root>Loading...</app-root>

,当我在菜单视图的变化,但Angular2点击不要加载加载index.html中它的JavaScript我已经加载的所有的CSS和JS文件,所以这个问题在这里只那么当我把直接链接。

为了更清楚如果我把直接链接放在浏览器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>

+0

你能分享你的'index.html' – AngJobs

+0

@AngJobs我在下面分享 – Wissou

+0

如果你真的w蚂蚁学习Angular,删除所有的jQuery脚本,并按照[Angular Style Guide](https://angular.io/docs/ts/latest/guide/style-guide.html) –

回答

-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的视图)

  • 借口formatting-棘手的在iPad上
+0

我不知道为什么我被降级 - 我认为这是死亡的mot –