在使用AngularJS之前,我使用此代码来获取函数的JSON结果
$.ajax({
url: '@Url.Action("getGamedata", "Home")',
type: 'GET',
dataType: 'json',
cache: false,
async: false,
success: function (gameInfo) {
//alert(gameInfo.Name); //Working OK
for(var i=0;i<6;i++)
createTable(gameInfo[i]);
}
});
JSON结果包含6个带有name,genre,imageUrl等的项目。现在我正在使用AngularJS,我有构建动态网格的功能
function buildGridModel(tileTmpl) {
var it, results = [];
for (var j = 0; j < 6; j++) {
it = angular.extend({}, tileTmpl);
it.icon = it.icon + (j + 1);
it.title = it.title + (j + 1);
it.span = { row: 1, col: 1 };
switch (j + 1) {
case 1:
it.background = "red";
break;
case 2: it.background = "green"; break;
case 3: it.background = "darkBlue"; break;
case 4:
it.background = "blue";
break;
case 5:
it.background = "yellow";
break;
case 6: it.background = "pink"; break;
}
results.push(it);
}
return results;
}
我想将每个项目标题推送到我的网格图块标题。
答案 0 :(得分:0)
我的解决方案: 将ajax放入函数
function buildGridModel(tileTmpl) {
var it, results = [];
$.ajax({
url: '/home/getGamedata',
type: 'GET',
dataType: 'json',
cache: false,
async: false,
success: function (gameInfo) {
for (var j = 0; j < 6; j++) {
it = angular.extend({}, tileTmpl);
it.icon = it.icon + (j + 1);
it.title = gameInfo[j]["Name"];
it.span = { row: 1, col: 1 };
switch (j + 1) {
case 1:
it.background = "red";
break;
case 2: it.background = "green"; break;
case 3: it.background = "darkBlue"; break;
case 4:
it.background = "blue";
break;
case 5:
it.background = "yellow";
break;
case 6: it.background = "pink"; break;
case 7: it.background = "darkBlue"; break;
case 8: it.background = "purple"; break;
case 9: it.background = "deepBlue"; break;
case 10: it.background = "lightPurple"; break;
case 11: it.background = "yellow"; break;
}
results.push(it);
}
}
});
return results;
}