AngularJS IE11无效参数

时间:2015-02-12 23:47:43

标签: javascript angularjs angular-ui-router

这个问题让我抓狂......我删除了所有$ http调用,以及所有textboxs / textarea。

我不知道还有什么要检查。出于某种原因,我认为它与ui-Router中的嵌套页面有关。我只在嵌套页面上得到此错误(实际上连续14次)。

我还添加了关于占位符(ng-attr-placeholder)的属性,我仍然收到错误。

任何建议都会很棒。

Error: Invalid argument.
   at interpolateFnWatchAction (http://localhost:16266/Scripts/app/vendors/angularjs/angular.js:6834:15)
   at Scope.prototype.$digest (http://localhost:16266/Scripts/app/vendors/angularjs/angular.js:12251:23)
   at Scope.prototype.$apply (http://localhost:16266/Scripts/app/vendors/angularjs/angular.js:12516:13)
   at done (http://localhost:16266/Scripts/app/vendors/angularjs/angular.js:8204:34)
   at completeRequest (http://localhost:16266/Scripts/app/vendors/angularjs/angular.js:8412:7)
   at xhr.onreadystatechange (http://localhost:16266/Scripts/app/vendors/angularjs/angular.js:8351:11)

State Config

//-----------HOME--------------------------------
                .state('home', {
                    url: '/requests',
                    templateUrl: mySettings.root + 'Scripts/App/js/views/home.html',
                    controller: 'homeController',
                    data: { pageTitle: 'Dashboard' }
                }) //---------Create New Order-----------------------
                .state('home.create', {
                    url: '/create',
                    templateUrl: mySettings.root + 'Scripts/App/js/views/create.html',
                    resolve: {
                        isReOrder: [
                            function() {
                                return false;
                            }
                        ],
                        requestData: [
                            function() {
                                return null;
                            }
                        ],
                        vendorsData: [
                            'addressesService', function(addressesService) {
                                return addressesService.query({ type: 'vendor' }).$promise;
                            }
                        ],
                        unitOfMeasureData: [
                            'loopUpOptionsService', function (loopUpOptionsService) {
                                return loopUpOptionsService.query({ lookupid: 'UnitOfMeasure', active: true }).$promise;
                            }
                        ],
                        addressesData: [
                            'officeManagers', 'authService', function (officeManagers, authService) {
                                return officeManagers.getAddressesByUsername({ id: authService.authentication.userName }).$promise;
                                   }
                        ],
                        locationsData: [
                            'locations', function(locations) {
                                 return locations.query().$promise; 
                            }
                        ]
                    },
                    controller: 'createController',
                    data: { pageTitle: 'Create Order' }
                })

感谢。

1 个答案:

答案 0 :(得分:1)

我终于弄明白了这个问题。它与home.html(父状态)有关,当我转到子页面(home.create)时,它尝试渲染父页面...不确定为什么...我认为这是因为父和孩子有不同的控制器/数据。

要修复它,我必须在ui-view中的home模板上添加它,其中来自范围的数据是渲染的。

data-ng-if="$state.$current.name == 'home'"

所以如果状态不在家,它不会尝试渲染该部分。

感谢Claies的帮助。