搜索

首页  >  问答  >  正文

angular.js - 执行顺序问题,angular需要后台拿到数据后编译directive

打开一个页面,需要先发起一个$http请求从后台拿到数据,然后将数据的某几个字段作为参数传递给directive中去编译。

现在问题是页面一打开好像就执行directive中的代码了。因为数据还没有拿到,会报错。如何调整?

已尝试并成功:先拿代码数据然后使用$compile去动态编译directive然后append到dom中。
想了解其他好的方法。

高洛峰高洛峰2740 天前704

全部回复(3)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:14:25

    1.可以使用Promise封装AJAX请求, 在指令中就可以在接收到结果后再进行后续操作.
    2.可以直接在指令中通过$watch来检查是否返回了正确数据,然后再进行后续操作.但建议$watch中只用来检查数据更新状态,不做其他操作.

    回复
    0
  • 为情所困

    为情所困2017-05-15 17:14:25

    你的需求是什么不明确,你只是描述了一个directive传值编译问题

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:14:25

    讲数据对象bind到dom上,在指令去获取dom上的数据,然后在controller里面去请求数据

    回复
    0
  • 取消回复