自适应AngularJS指令

时间:2017-11-07 05:55:13

标签: javascript jquery css angularjs adaptive-design

这是我们的jQuery代码:

$(document).ready(function(){
    $(window).on("load resize", function(){
        if ($(window).width()<=960){
            $(".myDirective").css("flex-direction", "column")
        }
        else{
            $(".myDirective").css("flex-direction", "row")
        }
    })
});

现在我想创建一个具有相同功能的AngularJS指令。我该怎么做?

我知道如何使用特定样式创建指令:

.directive('myDirective', function(){
    return{
        link: function(scope, element, attrs){
            element.css({
                flexDirection: 'column'
            });
        }
    }
});

但是如何添加条件?

1 个答案:

答案 0 :(得分:1)

在您的html中,将此windowWidth指令应用于您已将其类设置为.myDirective的元素。

Ex. <p class="myDirective" window-width></p>


app.directive('windowWidth', function($window) {
    return {
        restrict: 'A',
        link: function(scope, $element) {
            scope.$watch(function() {
                if($window.width < 960) {
                    $element.css("flex-direction", "column");
                } else {
                    $element.css("flex-direction", "row");
                }
            })
        }, 
    }
});