相关疑难解决方法(0)

加载模板dom时,angular2模板/钩子中的脚本标记

我很困难,不知道如何解决我的问题......

简化:我有一个基于绑定创建ulist的组件,如下所示:

@Component({
   selector: "template",
   template: `
     <ul>
       <li *ng-for="#challenge of jobs.challenges">{{challenge}}</li>
     </ul>
   `})
export class JobTemplate{
  jobs: Jobs;
  constructor(jobs:Jobs){
    this.jobs = jobs
  }     
}
Run Code Online (Sandbox Code Playgroud)

组件选择器/主机嵌入在php回显的普通html流中,用于替换预定义的ulist.问题是在正常站点上,使用ulist之后的脚本标记在列表上应用一些jquery魔术.

由于脚本标记在组件模板加载完成之前被回显,因此jquery调用将找不到模板DOM的元素.将脚本标记放在我的模板中(最后)不起作用; 它似乎被忽略了.

<ul>
  <a><li *ng-for="#challenge of jobs.challenges">{{challenge}}</li></a>  
</ul>
<script>
   $("ul a").on("click", function (event)
        {
        var parent = $(this).parent();
        if(parent.hasClass('active'))
          ....slideToggle("normal");
        else
        ....
        });
</script>
Run Code Online (Sandbox Code Playgroud)

此外,该站点使用基础框架,每次向页面添加新元素时(例如,通过外部更新我的组件的绑定),我需要调用$(document).foundation().

所以我的问题是,当我不知道我的模板是否已经完成创建时,如何在我的模板DOM上调用jquery.在我的组件模板中定义时,onload处理程序不起作用.

我读过有关AfterViewInit的内容,但我对此感到不知所措.有人可以请我朝正确的方向努力吗?

如何找出组件模板何时完全插入"主"DOM?

javascript jquery angular

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

angular ×1

javascript ×1

jquery ×1