【问题标题】:Retrieve array over $http and view in ion-item of ion-list通过 $http 检索数组并在 ion-list 的 ion-item 中查看
【发布时间】: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


【解决方案1】:

Dinesh 回答了我的问题。将 ng-controller 放在 ion-view 中就是我需要做的!

【讨论】:

    猜你喜欢
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2019-08-29
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多