我还在学习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>
&#13;
当我点击菜单中的一个项目时,它会将视图更改为我所创建的组件,例如当我单击Link1时,它会显示我在index.html中的link1组件(link1.component.html)的视图/ p>
<app-root>Loading...</app-root>
&#13;
并且我已经加载了所有的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>
&#13;
答案 0 :(得分:0)
您可以在其中一个生命周期钩子中运行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的情况下构建视图 角。)