Angularjs 有时不显示列表项

Angularjs 有时不显示列表项,angularjs,meteor,ionic,angular-meteor,Angularjs,Meteor,Ionic,Angular Meteor,我对使用Meteor+angular+ionic构建的移动应用程序有一个奇怪的问题 在其中一个选项卡上,我订阅名为Contacts的集合,并在ionic列表中显示联系人列表: <ion-list> <ion-item ng-repeat="contact in contacts" type="item-text-wrap"> <strong>{{contact.name}}</strong> </ion-ite

我对使用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>
以下是我在
路由器
设置中的内容:

...
} ).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元素被呈现,但是
名称
和其他联系人详细信息都是空的,如所附图片所示。它只是一个列表项,但联系人本身未定义:

空项目的数量与联系人的数量匹配,但该列表中的每个联系人都为空,未定义。我尝试了所有可能的技巧使其正确渲染,但失败了。渲染的联系人数量为90,因此它根本不是一个大列表

如果我使用chrome usb inspector刷新我的应用程序页面,它将正确呈现。我缺少什么?

试试这个:

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){
代码。。。
}

$scope.contacts将像这样返回集合

希望它能起作用。

试试这个:

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){
代码。。。
}

$scope.contacts将像这样返回集合


希望它能工作。

$scope.contacts
如果我从控制器中删除,它是未定义的。contacts:解析下应该是“contacts”:/I进行了编辑。另外,您的控制器应该是这样的:“myCtrl”,function($scope,contacts){…code}不幸的是,仍然未定义。感谢您的帮助。我认为
解析
位应该移到
选项卡联系人中:{
对象。将立即尝试此操作。啊,是的。它应该在控制器参数所在的同一范围内。我错过了此参数。它正在运行吗?
$scope。如果我将其从控制器中删除,则联系人
未定义。联系人:解析下应为“联系人”:/我进行了编辑。此外,您的控制器应如下所示:“myCtrl”,函数($scope,contacts){…code}仍然未定义。很遗憾,感谢您的帮助。我认为
解析
位应该移到
'tab-contacts':{
对象中。现在将尝试此操作。啊,是的。它应该位于控制器参数所在的同一作用域中。我错过了这个。它现在工作了吗?