我正在尝试将ajax数据加载到数组中然后使用Angular绑定数组,这是我的代码(我是KO经验的初学者,所以我试着让它变得简单易用)
更新 我得到它的工作我认为问题是在加载Ajax数据之前加载页面,(虽然我认为首先加载页面是正常的!!)但是这里发生了什么,我正在使用Onsen UI,它加载页面模板移动,所以解决方案是移动“SetMainPage”(加载页面/导航的功能)我移动此函数在数据加载后调用(ajax>成功)。现在绑定工作了。
我不确定这是最好的做法,如果你有我的建议将不胜感激
1-在我的控制器中,我将以下Feed设置为空数组,然后尝试填充:
var self= this;
self.feed = [];.....
加载ajax时我设置了这个数组的值
angular.extend(self.feed, data.obj);
alert(JSON.stringify(self.feed));
所以第二行给我提醒对象self.feed中正确加载的数据但是这并没有反映出调用时的角度视图,bd.feed中似乎没有项目
<div ng-repeat="act in bd.feed">
{{act.activity_id}}
</div>
其中bd在body标签中被定义为控制器,如下所示
<html lang="en" ng-app="app" ng-csp>
<body id="body" ng-controller="MyController as bd">
以下是我如何初始化控制器
angular.module('app', ['onsen']).controller('MyController', function ($scope,$rootScope) {
var self = this;
我从视图中调用ajax函数:
{{bd.getfeed()}}
控制器中的getfeed代码
self.getfeed = function () {
$.ajax({
type: 'POST',
url: "http://www.server.com/api",
crossDomain: true,
data: { panel: 'ok' },
success: function (data) {
console.log(data);
var json_obj = JSON.parse(data);
console.log(json_obj);
var obj = json_obj.obj;
console.log(obj);
angular.extend(self.feed, json_obj.obj);
},
error: function (data) { }
});
}
可能是我遗漏了很多东西,但我只是想要一种方法将json加载到对象并正确显示..以后可能会有一些关于最佳实践的建议
感谢您的帮助
答案 0 :(得分:1)
我使用以下2行将数据加载到数组
$scope.myArray = json_obj.search_result;
angular.extend($scope.myArray , json_obj.search_result);
由于