Javascript Angular.JS,将JSON数组显示为表
我想使用JADE和Angular.JS将JSON文件中数组的内容显示为表 服务器传递此表结构:Javascript Angular.JS,将JSON数组显示为表,javascript,angularjs,Javascript,Angularjs,我想使用JADE和Angular.JS将JSON文件中数组的内容显示为表 服务器传递此表结构: { "Table1": [ { "id": 1, "name": "Foo" }, { "id": 2,
{
"Table1": [
{
"id": 1,
"name": "Foo"
},
{
"id": 2,
"name": "Bar"
}
],
"Table2": []
}
像这样:
body(ng-app='myApp', ng-controller='myCtrl' ng-init='list= #{JSON.stringify(list)}')
div(ng-repeat="table in list[0]")
.col-lg-3
table.table.table-bordered
thead
tr
th Title
tbody(ng-repeat="item in table | orderBy:'id' track by item.id")
tr
td.name {{item.name}}
它可以工作:显示两个表,每个表包含其中一个表的值
然而,我想把“表1”和“表2”作为两个表的标题,我被卡住了
我的控制器如下所示:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope){
$scope.nameList = [];
angular.element(document).ready(function(){
for(i in $scope.list[0])
$scope.nameList.push(i);
console.log($scope.nameList);
});
});
我需要在angular.element语句中包装我的函数,否则$scope.list是未定义的。我尝试将指令包装在window.onload语句中(在另一个页面中奇怪地工作),如下所示:
app.controller('myCtrl', function($scope){
window.onload = function() {
...
p {{nameList[0]}}
但我得到了同样的结果
console.log打印正确的值;但是,如果我尝试显示如下值:
app.controller('myCtrl', function($scope){
window.onload = function() {
...
p {{nameList[0]}}
什么也没发生。我试图将$scope作为参数传递给函数,但得到了一个“$scope未定义”错误
我的问题是:
谢谢。各种各样的变量名不匹配,您不需要在控制器中使用任何关于
angular.element
的内容来创建作用域。建议浏览一些我不喜欢的教程;但是,如果我不这样做,脚本就根本无法使用“列表”;你能指出不匹配的地方吗?无法看到任何。请在中创建演示。与显示的代码不符