Angular JS控制台记录正确但没有输出

时间:2016-09-11 07:31:24

标签: javascript angularjs node.js fs fs-extra

我有一个电子应用程序,假设步行目录并将目录的内容列入侧栏导航

我正在使用this库走路。我得到了正确的控制台输出,如下所示,但我想我做错了,我可以看到html页面上的输出。

enter image description here

走在目录中的文件的代码是

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

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

相关问题