角度js,ng-model没有为第三方指令做好准备

时间:2016-10-16 18:50:29

标签: javascript angularjs angularjs-directive jstree

我正在使用https://github.com/ezraroi/ngJsTree,我遇到了以下问题。

我的ng-model是一个AJAX请求,当我的控制器触发时,数据还没有准备好,因此它不会呈现任何内容。

<div ng-controller='myCtrl'>
    <div js-tree="treeConfig" ng-model="treeData" should-apply="ignoreModelChanges()" tree="treeInstance" tree-events="ready:readyCB;create_node:createNodeCB"></div>
</div>

https://plnkr.co/edit/IRaqvd0DPcqkxgo0xoqa?p=preview

1 个答案:

答案 0 :(得分:0)

根据应用程序的结构,您可能有一些替代方法来处理这种情况。创建一个负责读取数据的服务。然后,您可以执行以下操作之一:

  1. 让路由器等到读取之前解决 导航到视图。以下是相关的SO问题:AngularJS $http.get with resolve

  2. 将事件侦听器添加到控制器和 当数据准备就绪时,使服务发出/广播事件。

  3. 在这两种情况下,您可能希望从服务中读取数据。