Angular JS控制台日志正确但无输出

Angular JS console logs correct but no output

我有一个 electron 应用程序,它应该遍历 目录 并将目录的内容列在侧栏导航中

我正在使用 this 库来遍历目录。我得到了如下所示的正确控制台输出,但我想我做错了什么,我可以在 html 页面上看到输出。

遍历目录的文件代码是

var fs = require('fs-extra');
var app = angular.module('music', []);

app.controller('ctrl', function($scope, $http) {
    var list = [];
    var _id = 0;
    fs.walk('/home/a0_/Music')
      .on('data', function(item) {
          list[_id] = {'song':item.path}
          _id = _id + 1;
        }
    )
      .on('end', function() {
          console.log(list);
          _id = 0;
      }
    );
    $scope.data = list;

});

在获取示波器数据时,我尝试使用 ng-repeat 循环遍历数据,但似乎我没有做对,因为我看不到输出。我做错了什么?

<body ng-app="music">

    <div class="site-wrapper">
        <div class="col-sm-3 side-nav" ng-controller="ctrl">
            <h3><a href="#" data-toggle="modal" data-target="#myModal">Music</a></h3>
            <hr>
            <div ng-repeat="song in data">
                <a href="#">
                    {{ song }}
                </a>
            </div>
        </div>

整个代码在github

从我在控制台中看到的输出来看,您正在遍历对象数组,每个对象都有一个您要显示的 属性 "song"。你不应该打印 {{song.song}} 而不是 {{song}} 吗?因为 {{song}} 指向一个像 {song: ...}.

这样的对象字面量

应该是:

<div ng-repeat="song in data">
     <a href="#">
       {{ song.song }}
     </a>
</div>

这很常见 JavaScript 并且要访问一个项目我们需要这样做(在 Angular 中也是如此):

var song = [{
  song: "test 1"
}, {
  song: "test 2"
}];

console.log(song[0].song);