angularjs – Angular-ui State – 多个视图没有看到我的解析数据

前端之家收集整理的这篇文章主要介绍了angularjs – Angular-ui State – 多个视图没有看到我的解析数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
出于某种原因,当使用多个命名视图(angular-ui ui-router)时,我的resolvedData没有被控制器看到.有人遇到过这个问题吗?

$stateProvider
    .state('page',{
           abstract: true,templateUrl: ...,controller: abstractController
    })
    .state('page.index',url: '/page',resolve : {
               resolvedData: function(CONSTANTS){ return CONSTANTS.data;}
           },views: {
               home: {templateUrl: ...,controller: function(resolvedData){
                        ....
                      }
               },list: {templateUrl: ...,edit: {templateUrl: ...,controller: function(resolvedData){
                        ....
                      }
               }
           }
     )

它给我的错误是:错误:[$injector:unpr]未知提供者:resolvedDataProvider< - resolvedData.它有点有趣,因为它只发生在一个视图中而不是其他视图中.

解决方法

我创建了 small working example,显示你的东西应该工作

这将是常数:

.factory('CONSTANTS',function() {
    return { data: { name :  "some name",number : "some number"} };
})

同样(只是明确注释DI)状态def:

// States
  $stateProvider
    .state('page',{
      abstract: true,template: '<div>' 
       + '<div ui-view="home"></div>' 
       + '<div ui-view="list"></div></div>',controller: 'abstractController'
    })
    .state('page.index',{
      url: '/page',resolve: {
        resolvedData: ['CONSTANTS',function(CONSTANTS) {
            return CONSTANTS.data;
          }
        ]
      },views: {
        home: {
          templateUrl: 'tpl.html',controller: ['resolvedData','$scope',function(resolvedData,$scope) {
              console.log(resolvedData);
              $scope.resolvedData = resolvedData;
            }
          ],},list: {
          template: '<div>list view</div>'
        }
      }
    })

因此,上面使用的决议草案正在起作用.这是正确的方法……解析函数提供了一些服务…并返回其属性数据.

检查所有here

猜你在找的Angularjs相关文章