3
我是离子型的新手。我已经成功填充了用户列表和其余呼叫。 我想用$ http方法获取用户特定的数据。但我无法做到这一点。我的代码。
service.js
angular.module('starter.service',[]).
factory('Contents',['$http',function($http){
var users = [];
return {
get: function(){
return $http.get("http://jsonplaceholder.typicode.com/users").then(function(response){
users = response;
return users;
});
},
remove:function(content){
users.splice(users.indexOf(content),1);
},
getUser:function(chatId)
{
console.log('inside service');
for(var i=0; i<users.length;i++){
if(users[i].id === parseInt(chatId)){
return users[i];
}
}
return null;
}
}
}]);
controller.js
angular.module('starter.controller', [])
.controller('ChatCtrl', function($scope, Contents,$ionicModal) {
console.log('inside controller');
Contents.get().then(function(users){
//users is an array of user objects
$scope.contents=users.data;
console.log($scope.contents);
});
$scope.remove = function(content) {
Contents.remove(content);
};
})
.controller('ChatDetailCtrl', function($scope, $stateParams, Contents) {
console.log('details');
$scope.content = Contents.getUser($stateParams.chatId);
console.log($stateParams.chatId);
console.log($scope.content)
});
chat.html:
<ion-view view-title="Chats">
<ion-content>
<ion-list>
<ion-item class="item-remove-animate item-avatar item-icon-right" ng-repeat="content in contents" type="item-text-wrap" >
<img ng-src="{{content.image}}" style="width:50px; height:50px;" ng-click="showUser(content)">
<a href="#/tab/chats/{{content.id}}" class="subdued">
<h2>{{content.name}}</h2>
<i class="icon ion-chevron-right icon-accessory"></i>
<ion-option-button class="button-assertive" ng-click="remove(content)">
Delete
</ion-option-button>
</a>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
这chat.html重定向到被称为聊天detail.html另一个模板,显示用户数据。
如果这有帮助,请将答案标记为正确。很高兴我能帮上忙! –