AngularJS元素onresize事件 - 自定义指令

时间:2017-07-11 16:22:25

标签: javascript angularjs angularjs-directive resize

AngularJS是否与此相当:

elementObject.addEventListener("resize", myFunction);

我想到了手表,但我认为这不是一个好的解决方案。

2 个答案:

答案 0 :(得分:2)

创建自定义指令:

app.directive("myResize", function($parse) {
    return {
        link: postLink
    };
    function postLink(scope, elem, attrs) {
        elem.on("resize", function (e) {
            var rs = $parse(attrs.myResize);
            rs(scope, {$event: e});
            scope.$apply();
        });
    }
});

用法:

<div my-resize="$ctrl.myFunction($event)">
</div>

欲了解更多信息,

答案 1 :(得分:0)

你也可以这样做: HTML:

<div resize-me></div>

JavaScript的:

myApp.directive('resizeMe', ['$window', function($window) {
    return {
        link: function(scope, elem, attrs) {
            angular.element(elem).bind('resize', function() {
                //do something on resize
            })
        }
    }
}])