angularjs if/else statement and window width

angularjs, angularjs-directive, angularjs-scope, javascript, jquery

Solution

In AngularJS if you want to do changes in HTML or DOM manipulation then recommended or best practices is to use the directive for the same.

Write a directive may be below links are helpful:

AngularJS event on window innerWidth size change

http://jsfiddle.net/jaredwilli/SfJ8c/

HTML for the Directive

<div ng-app="miniapp" ng-controller="AppController" ng-style="style()" resize>window.height: {{windowHeight}}
    <br />window.width: {{windowWidth}}
    <br />
</div>

Javascript Code for the Directive

    app.directive('resize', function ($window) {
    return function (scope, element) {
        var w = angular.element($window);
        scope.getWindowDimensions = function () {
            return {
                'h': w.height(),
                'w': w.width()
            };
        };
        scope.$watch(scope.getWindowDimensions, function (newValue, oldValue) {
            scope.windowHeight = newValue.h;
            scope.windowWidth = newValue.w;

            scope.style = function () {
                return {
                    'height': (newValue.h - 100) + 'px',
                        'width': (newValue.w - 100) + 'px'
                };
            };

        }, true);

        w.bind('resize', function () {
            scope.$apply();
        });
    }
})

Problem

I am new to AngularJS and recently introduced it into my application. I am trying to re-write some of my existing jQuery code in my controllers, however, on one occasion, i am using: jQuery: ``` if ($(window).width() < 700) { $('.productsHeading').on('click', function() { $(".productsBody").hide(); $(".aboutUsBody").show(); }); } ``` I can get around the `.hide()` and `.show()` using `ng-hide="productsBody"` and `ng-hide="aboutUsBody"` within my DIVs.. These are handled through a `ng-click="productsheading()"`.. However, the issue i am facing is, how do i handle the: ``` if ($(window).width() < 700) { ``` In AngularJS? I am using AngularJS v1.1.5

Original source

Related problems