我的指示角度不起作用

时间:2015-09-17 07:31:31

标签: javascript angularjs

我对棱角分明了。

我希望每当文档宽度发生变化时都有一个监听器。

首先,我决定添加一个这样的$ watch:

$scope.$watch(function(){
    return $window.innetWidth;
}, function(n, o){
    console.log(n);
    console.log(o);
});

但它仅适用于页面加载,而不适用于调整大小。

然后我决定写一个这样的指令:

app.directive('watchWidth', [function(){
        return {
            restrict: 'A',
            link: function(scope, element) {
                element.style.display = 'none';

                $scope.$watch(function () {
                    return element.innerWidth;
                }, function (n,o) {
                    console.log(n);
                    console.log(o);
                });
            }
        };
    }]);

并将指令添加到我的ng-view:

<div watchWidth ng-view class="main-wrapper"></div>

但是在控制台中没有任何工作和错误,我不知道该怎么做!

请帮忙吗?

1 个答案:

答案 0 :(得分:1)

嗨,这是我调整特定元素大小的方法

.directive('resize', function (Ls) {
    return function (scope, element, attr) {
        scope.resizeWithOffset = function (offsetH) {
                return {
                    'min-height': (window.innerHeight - offsetH) + 'px',
                    'max-height': (window.innerHeight - offsetH) + 'px'
                };
        }
    }
})

在你的HTML中,它看起来像这样

<ion-scroll ng-style="resizeWithOffset(270)" resize></ion-scroll>

基本上,元素现在调整到窗口高度 - 你可以指定的高度(在这种情况下为270px)