3

我有一个电子应用程序,它假设遍历一个目录并将目录的内容列出到侧栏导航中

我正在使用这个库来行走目录。我得到了正确的控制台输出,如下所示,但我想我做错了什么,我可以在 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上

4

2 回答 2

2

它应该是:

<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);

于 2016-09-11T07:38:28.787 回答
1

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

于 2016-09-11T07:37:04.123 回答