从AngularJS中的文件中读取JSON

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从AngularJS中的文件中读取JSON相关的知识,希望对你有一定的参考价值。

我能够从chrome app中的文件中读取json内容,但我希望在$ scope.somevar中返回json内容。如果我尝试在方法内初始化$ scope.somevar,它就会超出范围。

SearchApp.controller("MyTagsApp", function($scope) {
    var myFile = '';
    chrome.runtime.getPackageDirectoryEntry(function(root) {
            root.getFile("MY_FILE.json", {}, function(fileEntry) {
                fileEntry.file(function(file) {
                    var reader = new FileReader();
                    reader.onloadend = function(e) {

                        myFile = JSON.parse(this.result);
                        $scope.somevar = JSON.parse(this.result);
                        console.log(myFile);
                });
            });
        });
        console.log($scope.somevar); });

最后一行返回undefined。作为角度技术的新手,我无法理解问题所在。

我也试图在html页面上显示内容

<ul ng-repeat="i in somevar | filter: searchKeyword">
    <li>{{i.items.name}}</li>
</ul>

没有反应。

答案
console.log($scope.somevar);

在最后一行上执行更早,所以$scope.somevar尚未初始化。为什么要尝试转储内容呢? JSON内容最终将在范围内访问。如果您需要对该结果执行某些操作,请在匿名函数中执行此操作。

以上是关于从AngularJS中的文件中读取JSON的主要内容,如果未能解决你的问题,请参考以下文章

angularjs中的$ http.get读取txt文件但无法读取json文件

如何从 json 文件中读取数据,是不是有语法错误?

从量角器中的json文件中获取数据

angularJS怎么修改一个json文件中的数据

如何使用angularjs从json文件中获取数据

如何用angularjs读取本地json