离子有时不显示列表项
ionic sometimes not showing list items
我在使用 Meteor + angular + ionic 构建的移动应用程序时遇到了一个奇怪的问题。
在其中一个选项卡上,我订阅了名为 Contacts
的集合,并在 ionic
列表中显示联系人列表:
<ion-list>
<ion-item ng-repeat="contact in contacts" type="item-text-wrap">
<strong>{{contact.name}}</strong>
</ion-item>
</ion-list>
这是此选项卡控制器中的内容:
$scope.contacts = $meteor.collection( Contacts );
这是我在 router
设置中的内容:
...
} ).state( 'tab.contacts', {
url : '/contacts',
views : {
'tab-contacts': {
templateUrl: 'templates/contacts/list.ng.html',
controller : 'ContactsCtrl'
}
},
resolve: {
contacts: ['$meteor', function ( $meteor ) {
return $meteor.subscribe( 'contacts' );
}]
}
} )
问题是,当我打开我的应用程序时,几乎 10 次中有 8 次呈现列表 html 元素,但 name
和所有其他联系方式都是空的,如图所示随附的。它只是一个列表项,但联系人本身是未定义的:
空项的数量与联系人的数量相匹配,但该列表中的每个联系人都是空的,未定义。我尝试了所有可能的技巧以使其正确呈现但失败了。呈现的联系人数量为 90,因此根本不是一个大列表。
如果我使用 chrome USB 检查器刷新我的应用程序页面,它会正确呈现。我错过了什么?
试试这个:
resolve: {
"contacts": ['$meteor', function ( $meteor ) {
$meteor.subscribe( 'contacts' ).then(function(subscriptionHandle){
return $meteor.collection( Contacts );
})
}]
}
现在控制器中不需要这个 $scope.contacts = $meteor.collection( Contacts );
控制器需要看起来像这样:app.controller( "myCtrl", function( $scope, contacts ) {
code...
}
$scope.contacts 将像那样返回集合。
希望它有效。
我在使用 Meteor + angular + ionic 构建的移动应用程序时遇到了一个奇怪的问题。
在其中一个选项卡上,我订阅了名为 Contacts
的集合,并在 ionic
列表中显示联系人列表:
<ion-list>
<ion-item ng-repeat="contact in contacts" type="item-text-wrap">
<strong>{{contact.name}}</strong>
</ion-item>
</ion-list>
这是此选项卡控制器中的内容:
$scope.contacts = $meteor.collection( Contacts );
这是我在 router
设置中的内容:
...
} ).state( 'tab.contacts', {
url : '/contacts',
views : {
'tab-contacts': {
templateUrl: 'templates/contacts/list.ng.html',
controller : 'ContactsCtrl'
}
},
resolve: {
contacts: ['$meteor', function ( $meteor ) {
return $meteor.subscribe( 'contacts' );
}]
}
} )
问题是,当我打开我的应用程序时,几乎 10 次中有 8 次呈现列表 html 元素,但 name
和所有其他联系方式都是空的,如图所示随附的。它只是一个列表项,但联系人本身是未定义的:
空项的数量与联系人的数量相匹配,但该列表中的每个联系人都是空的,未定义。我尝试了所有可能的技巧以使其正确呈现但失败了。呈现的联系人数量为 90,因此根本不是一个大列表。
如果我使用 chrome USB 检查器刷新我的应用程序页面,它会正确呈现。我错过了什么?
试试这个:
resolve: {
"contacts": ['$meteor', function ( $meteor ) {
$meteor.subscribe( 'contacts' ).then(function(subscriptionHandle){
return $meteor.collection( Contacts );
})
}]
}
现在控制器中不需要这个 $scope.contacts = $meteor.collection( Contacts );
控制器需要看起来像这样:app.controller( "myCtrl", function( $scope, contacts ) {
code...
}
$scope.contacts 将像那样返回集合。
希望它有效。