首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS检测引导环境

AngularJS检测引导环境
EN

Stack Overflow用户
提问于 2015-06-16 09:48:41
回答 1查看 254关注 0票数 1

我正在尝试使用AngularJS来检测引导环境。这是我的密码:

代码语言:javascript
复制
angular.module("envService",[])
    .factory("envService", envService);

    function envService($window){
        return env();

        ////////////

        function env(){
            var w = angular.element($window);
            var winWidth = w.width();
            if(winWidth<768){
                return 'xs';
            }else if(winWidth>=1200){
                return 'lg';
            }else if(winWidth>=992){
                return 'md';
            }else if(winWidth>=768){
                return 'sm';
            }
        }

    }

该函数工作正常,并根据窗口大小返回值。但是,即使更改了窗口大小,它也始终返回相同的环境。我怎么才能修好它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-29 22:51:44

您需要监视窗口调整大小事件。

代码语言:javascript
复制
angular.module('envService',[])
.factory('envFactory', ['$window', '$timeout', function($window, $timeout) {

var envFactory = {};
var t;

envFactory.getEnv = function () {
  var w = angular.element($window);
  var winWidth = w.width();
  if(winWidth<768){
      return 'xs';
  }else if(winWidth>=1200){
      return 'lg';
  }else if(winWidth>=992){
      return 'md';
  }else if(winWidth>=768){
      return 'sm';
  }        
};

angular.element($window).bind('resize', function () {
  $timeout.cancel(t);
  t = $timeout(function () {
    return envFactory.getEnv();
  }, 300); // check if resize event is still happening
});    

return envFactory;

}]);

angular.module('app',['envService']).controller('AppController', ['$scope', 'envFactory',
function($scope, envFactory) {
    // watch for changes
    $scope.$watch(function () { return envFactory.getEnv() }, function (newVal, oldVal) {
        if (typeof newVal !== 'undefined') {
            $scope.env = newVal;
            console.log($scope.env);
        }
    });

}
]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30864133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档