Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在呈现页面之前从服务器读取Javascript对象_Javascript_Angularjs - Fatal编程技术网

如何在呈现页面之前从服务器读取Javascript对象

如何在呈现页面之前从服务器读取Javascript对象,javascript,angularjs,Javascript,Angularjs,“我的页面”使用与仅在服务器上定义的对象“发票”接口的指令 我想知道停止呈现页面以完成加载对象的最佳方法是什么,以避免对象属性出现“未定义”错误 angular.module("adocApp") .controller("ctrl", function ($scope, $http ) { $scope.loadingIsDone = false; //variable that stop rendering of page

“我的页面”使用与仅在服务器上定义的对象“发票”接口的指令

我想知道停止呈现页面以完成加载对象的最佳方法是什么,以避免对象属性出现“未定义”错误

     angular.module("adocApp")
      .controller("ctrl",
         function ($scope, $http ) {


            $scope.loadingIsDone = false; //variable that stop rendering of page


        $http.get("Home/init").success(function (data) {
            $scope.invoice = data;
            $scope.loadingIsDone = true; //this start rendering with ng-if... but seems bad solution
                   });


    });

您可以使用
DIV
元素在视图中包装HTML,并仅在从服务器获取发票后显示它

<div ng-if="invoice">
    .... your directive here ......
</div>

.... 你的指示。。。。。。

当然,您可以使用
ng if
(无需包装)以相同的方式显示指令您可以在视图中使用
DIV
元素包装HTML,并仅在从服务器获取发票后显示它

<div ng-if="invoice">
    .... your directive here ......
</div>

.... 你的指示。。。。。。

当然,您可以使用
ng以相同的方式显示指令,如果
(无需包装)

您可以尝试解析。在加载路由之前,使用resolve从某些服务获取数据,然后它将仅在resolve承诺结束后呈现页面。您在哪里看到未定义的
?使用实际错误更新问题$http get异步请求。。。然后,如果在我的指令中有:或
  • 数量和产品列表在渲染时不存在。解决方法您可以尝试。在加载路由之前,使用resolve从某些服务获取数据,然后它将仅在resolve承诺结束后呈现页面。您在哪里看到未定义的
    ?使用实际错误更新问题$http get异步请求。。。那么,如果在我的指令中有一些:或
  • 数量和产品列表在渲染时不存在。太好了!!但这让我避免了使用'loadingIsDone'变量及其逻辑。这是可行的,但问题是:“这是实现从服务器读取资源逻辑的更好方法吗?”我的案例是一个单页应用程序,将来它将与其他对象(而不是“发票”)一起工作。谢谢!!!:)@treep否,您应该解析对象并将其注入控制器()。更多细节很好!!但这让我避免了使用'loadingIsDone'变量及其逻辑。这是可行的,但问题是:“这是实现从服务器读取资源逻辑的更好方法吗?”我的案例是一个单页应用程序,将来它将与其他对象(而不是“发票”)一起工作。谢谢!!!:)@treep否,您应该解析对象并将其注入控制器()。更多细节