在AngularJS App中填充数据后,页面冻结

时间:2017-09-14 10:54:41

标签: javascript angularjs angular-ui-router

我有一个自动完成的搜索栏(使用angularjs实施),它会显示学校列表,点击一个项目会将我带到一个ui-state /home/:id

但是,在搜索完成后填充学校数据时,页面会冻结。搜索栏不再起作用,页面也不会滚动。

目前我每次搜索都会重新加载页面。这使页面正常工作,但这绝对不是解决方案。

这是路由器代码:

.state('home.search', {
    url: '/search',
    templateUrl: 'views/home/home.html',
    data : { title: 'Home', theme: { primary: 'grey-50', folded: 'true'} },
    resolve: load('views/home/home.js'),
})
.state('home.detail', {
    url: '/{id}',
    templateUrl: 'views/home/detail.html',
    data : { title: 'Home', theme: { primary: 'grey-50', folded: 'true'} },
    resolve: load('views/home/home.js'),
})

这是控制器代码:

 function selectedItemChange(item) {
     $log.info('Item changed to ' + JSON.stringify(item));
     window.location.reload(); 
     self.selectedSchool = item;
     $state.transitionTo('home.detail', {id: item.schoolCode}, $stateParams, { 
        reload: true, inherit: false, notify: true
    });
 }

控制器代码:window.location.reload();使代码有效。但这不是解决方案。如果我删除该代码,页面将填充新的学校数据,但它会完全冻结。任何人都能说明为什么会这样吗?这是什么解决方案?

0 个答案:

没有答案