为了账号安全,请及时绑定邮箱和手机立即绑定

AngularJS:AngularJS渲染模板后如何运行其他代码?

AngularJS:AngularJS渲染模板后如何运行其他代码?

慕婉清6462132 2019-12-09 15:51:12
我在DOM中有一个Angular模板。当我的控制器从服务中获取新数据时,它将更新$ scope中的模型,然后重新呈现模板。到目前为止一切都很好。问题是,在模板已重新呈现并且在DOM中(在本例中为jQuery插件)之后,我还需要做一些额外的工作。似乎应该有一个事件要听,例如AfterRender,但我找不到任何此类事件。也许一条指令是一个可行的方法,但它似乎还为时过早。这是一个概述我的问题的jsFiddle:Fiddle-AngularIssue==更新==基于有用的评论,我相应地切换到了处理DOM操作的指令,并在指令内部实现了$ watch模型。但是,我仍然遇到相同的基本问题。$ watch事件内部的代码在模板被编译并插入DOM之前触发,因此,jQuery插件始终在评估一个空表。有趣的是,如果我删除了异步调用,那么整个程序就可以正常工作,因此这是朝正确方向迈出的一步。这是我更新的小提琴,以反映这些更改:http : //jsfiddle.net/uNREn/12/
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

这篇文章很旧,但是我将您的代码更改为:


scope.$watch("assignments", function (value) {//I change here

  var val = value || null;            

  if (val)

    element.dataTable({"bDestroy": true});

  });

}


查看完整回答
反对 回复 2019-12-09
  • 3 回答
  • 0 关注
  • 660 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信