【发布时间】:2016-08-15 04:10:48
【问题描述】:
我正在努力创建一个指令来分配和更新一个变量,该变量与窗口宽度进行比较,并通过调整大小进行更新。
与使用 CSS 相比,我需要该变量,因为我会将其用于 ng-if。我究竟做错了什么?代码如下:
var app = angular.module('miniapp', []);
函数 AppController($scope) {}
app.directive('widthCheck', function ($window) {
return function (scope, element, attr) {
var w = angular.element($window);
scope.$watch(function () {
return {
'w': window.innerWidth
};
}, function (newValue, oldValue, desktopPlus, isMobile) {
scope.windowWidth = newValue.w;
scope.desktopPlus = false;
scope.isMobile = false;
scope.widthCheck = function (windowWidth, desktopPlus) {
if (windowWidth > 1399) {
scope.desktopPlus = true;
}
else if (windowWidth < 769) {
scope.isMobile = true;
}
else {
scope.desktopPlus = false;
scope.isMoblie = false;
}
}
}, true);
w.bind('resize', function () {
scope.$apply();
});
}
});
这里是 JSfiddle:http://jsfiddle.net/h8m4eaem/2/
【问题讨论】:
标签: angularjs resize angular-directive