从AngularJS中的文件中读取JSON

问题描述 投票:0回答:1

我能够从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>

没有反应。

angularjs json angularjs-scope google-chrome-app
1个回答
0
投票
console.log($scope.somevar);

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

© www.soinside.com 2019 - 2024. All rights reserved.