找到一个执行待办事项列表的代码。
$scope.tasks = [];
$scope.searchEnter = function() {
if(event.which == 13 && $scope.task !="") {
$scope.addTask();
};
};
$scope.addTask = function() {
$scope.tasks.push({'taskMessage':$scope.task, 'done':false});
console.log($scope.tasks);
$scope.task = "";
};
$scope.clearCompleted = function() {
$scope.tasks = $scope.tasks.filter(function(item){
return !item.done;
});
};
考虑在从API调用收集数据的项目中使用它。
如何将使用API调用获取的数据实现到待办事项列表函数中?数据在$ rootScope.data中,假设应该可以在待办事项列表中存储data.id等属性。
尝试过这样的事情而没有任何结果。
<tr ng-repeat="x in data.list">
<button ng-click="add()">Add!</button>
<td>
<input type="checkbox" ng-model="x.done" />
{{ x.id }}
</td>
API调用
$scope.q ="";
$scope.searchData = function(url, id, callBack, apiCall, promise) {
var url="http://api.openweathermap.org/data/2.5/find?q="+$scope.q+"&type=like";
var id = APPKEY;
var callBack = "&callback=JSON_CALLBACK";
var apiCall = url + id + callBack;
if($scope.q.length >= 3) {
var promise = $http.jsonp(apiCall);
promise.success(function(data){
$rootScope.data = data;
console.log($rootScope.data);
});
};
希望用户能够根据自己的喜好选择属性并存储它们。
答案 0 :(得分:1)
在承诺成功功能上,您已将data
分配给$rootScope.data
。
我所做的是遍历该数据并将每个数据块发送到addTask
方法。
该方法将数据推送到您在视图中显示的tasks array
。
正如你所说,我假设你的回复包含了一系列对象。
更新:从promise返回的数据应该是这样的,
[
{"id": 1, "name": "Test1"}
{"id": 2, "name": "Test2"}
{"id": 3, "name": "Test3"}
]
$scope.q ="";
$scope.searchData = function(url, id, callBack, apiCall, promise) {
var url="http://api.openweathermap.org/data/2.5/find?q="+$scope.q+"&type=like";
var id = APPKEY;
var callBack = "&callback=JSON_CALLBACK";
var apiCall = url + id + callBack;
if($scope.q.length >= 3) {
var promise = $http.jsonp(apiCall);
promise.success(function(data){
$rootScope.data = data;
$scope.tasks = []
$scope.addTask = function(data) {
$scope.tasks.push(dara);
console.log($scope.tasks);
};
for (var i = 0; i < $rootScope.data.length; i++)
{
$scope.addTask($rootScope.data[i])
}
$scope.addTask();
console.log($rootScope.data);
});
};
};