Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用角度指令在调整大小和加载时调用函数_Javascript_Angularjs - Fatal编程技术网

Javascript 使用角度指令在调整大小和加载时调用函数

Javascript 使用角度指令在调整大小和加载时调用函数,javascript,angularjs,Javascript,Angularjs,我正在使用指令在调整div大小时调用控制器中的函数: 查看 <div id="tables-container" data-tap-disabled="true" on-size-changed="changeSize"></div> 控制器 $scope.changeSize = function(w, h) { //DO SOMETHING WITH w AND h... }; 这对你很有效。让我困惑的是,当页面加载(onReady)时,如何使用大小更改功

我正在使用指令在调整div大小时调用控制器中的函数:

查看

<div id="tables-container" data-tap-disabled="true" on-size-changed="changeSize"></div>
控制器

$scope.changeSize = function(w, h) {
    //DO SOMETHING WITH w AND h...
};

这对你很有效。让我困惑的是,当页面加载(onReady)时,如何使用大小更改功能?

您可以创建一个指令,并将其附加到附加ng app指令的最上面的元素上,在该指令的link函数中,您可以分派事件,该事件将由您的指令应用的所有处理程序侦听

app.directive('ngReady', function(){
  return {
    restrict : 'A',
    link : function() {
      window.dispatchEvent(new Event('resize'));    
    }
  }
});
或者您可以修改指令并添加以下代码

$element.ready(function(){
    scope.$apply(function(){
      onWindowResize();
    })
})
我创建了一个工作演示 希望有帮助:)

$element.ready(function(){
    scope.$apply(function(){
      onWindowResize();
    })
})