Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Json AngularJS$范围上的竞赛条件_Json_Angularjs - Fatal编程技术网

Json AngularJS$范围上的竞赛条件

Json AngularJS$范围上的竞赛条件,json,angularjs,Json,Angularjs,我的站点使用Angular的客户端路由。该项目的一个要求是,站点的所有正文文本都来自一个平面json文件。对于大多数网站来说,这不是一个问题。主索引文件点击IndexController并按以下方式获取文件: TextFactory.get.query(function (response) { $scope.textDump= response; }); 这将在初始页面加载时获取站点的文本,然后当浏览器在站点周围进行路由时,它不必再次调用$request来继续使用文本。在其中一个页面

我的站点使用Angular的客户端路由。该项目的一个要求是,站点的所有正文文本都来自一个平面json文件。对于大多数网站来说,这不是一个问题。主索引文件点击IndexController并按以下方式获取文件:

TextFactory.get.query(function (response) {
    $scope.textDump= response;
});
这将在初始页面加载时获取站点的文本,然后当浏览器在站点周围进行路由时,它不必再次调用$request来继续使用文本。在其中一个页面隐私策略中,希望能够在json文件中直接插入html格式。为了支持这一点,我正在按照服务条款控制器执行以下操作:

app.controller('TermsOfServiceController', ['$scope', '$sce', function ($scope, $sce) {
    $scope.$watch("textDump.tos", function (new_val, old_val) {
       if (angular.isDefined(new_val)) {
          $scope.pageContent = $sce.trustAsHtml($scope.textDump.tos);
       }
    });
}]);

我不得不这样做,因为存在一个竞争条件,在TermsOfsServiceController尝试使用它时,textDump.tos还没有从CDN接收到json文件。这是可行的,但这种方法有什么需要注意的地方吗?有没有更好的方法达到同样的效果?谢谢。

您可以使用过滤器之类的东西,然后让我们的双向绑定处理其余部分。这是一个很棒的解决方案!谢谢你。可能是你的副本