Angular ngRoute以promises解决

时间:2015-01-21 14:28:09

标签: angularjs angularjs-ng-route

我正在构建一个角度应用程序,并尝试使用ngRoute模块的解析来预先加载我的数据。

当我导航到某个视图时,我向resolve对象添加了几个promise。然后我需要在控制器中将它们作为属性。

我想知道是否有更简洁的方法来实现这一目标。我可以从解析中调用一个函数来填充我的数据对象(仅包含数据的简单角度服务),然后将此对象作为参数注入我的控制器吗?

我想只将我的contactData注入我的控制器,并将其填满3个属性:

resolve: {
            routeData: [
                'contactData', 'contactService', function (contactData, contactService) {
                    return contactService.loadContacts('auto_failed').then(function (response) {
                        contactData.contacts = response.items;
                    });
                }
            ],
            contactData: [
                'contactData', function (contactData) {
                    contactData.mode = 'auto_failed';
                    return contactData;
                }
            ],
            conflictTypes: [
                'contactData', 'contactService', function (contactData, contactService) {
                    return contactService.loadConflictTypes().then(function (response) {
                        contactData.conflictTypes = response.items;
                    });
                }
            ]
        }

0 个答案:

没有答案