当页面刷新时,无法在Object.Route.setUrlParams中读取未定义的属性“split”

时间:2016-03-25 19:18:53

标签: javascript angularjs factory

我有一个简单的工厂设置来接收一个对象列表,但出于某种原因我一直开始

  

TypeError:无法读取未定义的属性“split”       at Object.angular.module.factory.Route.setUrlParams

进一步检查时,似乎未定义Route.prototype中的url。我有这个工厂在应用程序的其他地方工作,只是不在这一页上,只在刷新时发生。

获取列表的实际代码:

$scope.facilityList = new FacilityList.query();

FacilityList工厂:

.factory('FacilityService', function($http, $resource, ResourceDirectoryService){
            return $resource(ResourceDirectoryService.getFacilityList(), {}, {
                'query': {method: 'GET', isArray: false}
            });
        });

resourceDirectory返回Java后端代码中预定的URL。同样,这在应用程序的其他位置有效,除了一页和刷新中断。

以下是app.js config中的相关代码:

.config(['$routeProvider', '$httpProvider', '$locationProvider',
      function ($routeProvider, $httpProvider, $locationProvider) {
      $routeProvider
.when('/user/facilityList', {
      templateUrl: 'views/userFacilityList.tpl.html',
      controller: 'UserFacilityListCtrl',
      role: 'staffView'
})

尝试使用resolve,同样的错误,现在在app.js:

.when('/user/facilityList', {
          templateUrl: 'views/userFacilityList.tpl.html',
          controller: 'UserFacilityListCtrl',
          role: 'staffView',
              resolve: {
                  resolvedFacilities: ['$q', 'FacilityService', function($q, FacilityService){
                      var deferred = $q.defer();
                      FacilityService.query(
                          function (resp){
                              deferred.resolve(resp);
                          });
                      return deferred.promise;
                  }]
              }

0 个答案:

没有答案