【发布时间】:2017-05-13 11:14:02
【问题描述】:
我尝试使用 angularJS 创建搜索应用程序。我遇到了绑定 $scope 值以查看路由器 URL 更改时的问题。
我在 /main 中有一个搜索字段。当我编写查询并单击搜索按钮时,该函数会获取数据并将其分配给范围变量。路由器 URL 将更改为“/结果”和相应的视图已显示。但视图没有绑定范围值。 /main 和 /Result 使用相同的控制器。
主模块中的路由器代码:
$routeProvider.
when('/main', {
templateUrl: '/views/search.html',
controller: 'searchCtrl'
}).when('/Result',{
templateUrl:'/views/Result.html',
controller: 'searchCtrl' ,
reloadOnSearch: false
}).otherwise({
redirectTo: '/main'
});
控制器: 从 /main 中单击按钮
$scope.fetchResult=function(searchWord){
shService.fetchResultDocumentsList(searchWord).data.then(function(response){
//service call here-data fetch is successfull.
$scope.docResultList=response[0];
$scope.docResultList=response[0];
$scope.documents = $scope.docResultList.data.documentEntities;
$location.path('/Result');
}
当相应的视图发生变化时,绑定没有完成。但是当我用 $rootScope.documents 替换 $scope.documents 时,绑定是成功的。 我已阅读 $rootScope 鼓励使用 $scope。
【问题讨论】: