[英]update $rootScope.$broadcast
如何用新值更新$ rootScope。$ broadcast?
考虑以下代码:
var test = "fisk";
if(angular.element(this).hasClass('monster')) {
var monster_info = angular.element(this).find("img").attr("title");
$http.get("lib/terrain.php", {params: { monster_data:monster_info}}).success(function(data) {
console.log(data);
$rootScope.$broadcast('mapInfo', data);
});
} else {
$rootScope.$broadcast('mapInfo',test);
}
这是我的控制器:
$scope.$on('mapInfo', function(event, mapInfo) {
$scope.mapInfo = mapInfo;
console.log($scope.mapInfo);
});
这是我的html:
<div ng-bind-html="safeHtml(mapInfo)"></div>
这几乎可行。 当我进行Ajax调用时,mapInfo会更新并打印到包含数据的页面上。 但是,当我不进行ajax调用时,fish的值不会在页面上打印出来。 我可以看到$ rootScope正在由值fisk更新:console.log($ scope.mapInfo),但未打印出来。
这是代码的简化版本
`http://jsfiddle.net/HB7LU/5693/`
它可以打印出mapInfo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.