ng样式不基于eventListner进行更新
ng-style does not update based on eventListner
创建事件列表后,它会等待postMessage,然后更新IframeHeight,但它不会立即更改高度,只有当我执行一些活动(如单击、键入输入框等)时,才会在ui上触发更改。
$scope.getIframeHeight = function(){
$scope.IframeHeight = "800";
if (!window.addEventListener) {
// IE8 support (could also use an addEventListener shim)
window.attachEvent('onmessage', $scope.handleMessage);
} else {
window.addEventListener('message', $scope.handleMessage, false);
}
};
$scope.handleMessage = function(event){
var origin = event.origin || event.originalEvent.origin; // For Chrome, the origin property is in the event.originalEvent object.
if (origin !== "http://localhost:8060")
return;
console.log('parent received message!: ',event.data);
$scope.IframeHeight = event.data;
};
<iframe class='iframe' id='iframe' scrolling='no' ng-style="{'height': IframeHeight + 'px'}" width="100%"
frameborder='0' ng-src="{{trustSrc(data.IframeSRC)}}">
</iframe>
所以我不知道为什么对$scope.IframeHeight的更改没有反映出来,但这对我来说很有效:
$scope.handleMessage = function(event){
var origin = event.origin || event.originalEvent.origin; // For Chrome, the origin property is in the event.originalEvent object.
if (origin !== "http://localhost:8060")
return;
console.log('parent received message!: ',event.data);
***$scope.$apply(function(){
$scope.IframeHeight = event.data;
});***
};
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- Javascript更新孙窗口中的表单元素
- 使用AngularJS中的筛选器更新给定的表
- 从选项页面更新chrome扩展清单权限
- 如何在不刷新页面的情况下更新显示框
- 延期承诺值未更新/解析/延期
- 标记的实时更新,无需加载页面谷歌地图API V3
- 使用mongodb更新中的一个变量
- 访问jsrender模板中的全局javascript变量并更新它
- ng样式不基于eventListner进行更新