我的网页中有一个搜索栏,它与一个控制器相关联,该控制器接收来自服务器的响应的JSON对象。
然后我将此响应保存在名为assetResult
的全局变量中。
首次正常运行,但当我进行新搜索时,$scope
的{{1}}未更新
控制器搜索栏
searchResultController
控制器搜索结果
mwm3.controller('searchBarCtrl', function($scope, $location, $timeout, AssetService) {
$scope.radioValue = 'id';
AssetService.connect();
AssetService.subscribe(function(message) {
var obj;
try {
//$scope.ocw.push(message);
obj = eval("(function(){return " + message + ";})()");
AssetResult = obj;
console.log(message);
$location.url('/searchResult');
} catch (e) {
obj = eval("(function(){return " + message + ";})()");
alert(obj.Error);
}
//$route.reload();
});
$scope.send = function() {
AssetService.send($scope.radioValue + '=' + $scope.searchKey);
};
});
我在mwm3.controller('searchResultCtrl', function($scope, $location, AssetDetailService) {
$scope.$apply(function() {
$scope.asm = AssetResult;
});
if (!AssetResult) {
$location.url('/login');
}
});
中使用$scope.apply
,但相关视图无论如何都不会刷新。
我的问题在哪里?
提前致谢
答案 0 :(得分:2)
在我看来,好像来自AssetService
的消息没有开始新的角度摘要。试试searchBarCtrl
:
AssetResult = obj;
$scope.$apply();