【发布时间】:2015-06-18 20:40:14
【问题描述】:
正如标题所说,我正在尝试从 $http 请求中分配一个列表,然后在视图中查看该列表。
如果我正确理解 ionic,我相信问题是在数据加载之前显示视图。当变量发生变化时,视图永远不会更新。
我听说 resolves 是解决此问题的一种方法,但我更希望视图更改,然后在等待 http 请求完成时显示加载指示器,然后显示列表。
谢谢!
编辑:我认为我需要添加加载数据的方式是通过 html 文件中的 ng-init ,这似乎也是错误的。有没有更好的方法?
查看html文件:
<ion-view view-title={{ListName}} ng-init="getList()">
<ion-content ng-controller="ListCtrl">
<ion-list>
<ion-item ng-repeat="item in list"
class="item-thumbnail-left">
{{item.id}}
<img ng-src="{{item.thumbnail}}">
</ion-item>
</ion-list>
</ion-content>
</ion-view>
控制器sn-p:
.controller('ListCtrl', function($scope){
$scope.list = []
$scope.ListName = ''
$scope.getList = function(){
$scope.ListName = 'list'
$scope.list = [{id: 1, thumbnail:null}, {id: 2, thumbnail:null},{id: 3, thumbnail:null} ,{id: 4, thumbnail:null}]
}
})
该列表实际上是在一个返回承诺的 http 请求中获得的,但这给了我同样的问题。这是令人讨厌的基本知识,我只是还不了解 ionic
【问题讨论】:
-
你可以添加一个 plnkr 或小提琴,以便人们可以查看代码
-
我添加了一些代码供您查看。谢谢!
-
离子视图如何找到
getList()? -
因为它在 ng-controller ListCtrl 中。
-
控制器关联不会自动扩展到元素的父级。您可能需要调用
getList()作为控制器初始化的一部分。
标签: javascript angularjs ionic