详解AngularJS之$window窗口对象


Posted in Javascript onJanuary 17, 2018

一个浏览器窗口对象的引用。它是一个全局对象,在window中是全局可用的,但是它导致一些问题。在Angular中也经常通过$window服务提到它,因此它可以被重写、删除及测试。

验证代码:

$window 等同于 window。
 (function(){
   angular.module('Demo', [])
   .controller('testCtrl',["$window",testCtrl]);
   function testCtrl($window) {
     $window === window;
   }
 }());

$window对象可以用来获取浏览器窗口各项属性(如窗口高度宽度、浏览器版本等等)。

1、问题背景

通过$window对象打印出输入框的内容

2、实现源码

<!DOCTYPE html> 
<html> 
  <head> 
    <meta charset="UTF-8"> 
    <title>AngularJS之$window窗口对象</title> 
    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    <script> 
      var app = angular.module("winApp",[]); 
      app.controller("winCon",function($window,$scope){ 
        $scope.phone = "15969569556"; 
        $scope.showPhone = function(){ 
          $window.alert("您输入的手机号是:"+$scope.phone); 
        }; 
      }); 
    </script> 
  </head> 
  <body ng-app="winApp"> 
    <div ng-controller="winCon"> 
      <input type="text" id="phone" maxlength="11" ng-model="phone"/> 
      <button ng-click="showPhone();">显示手机号</button> 
    </div> 
  </body> 
</html>

3、实现结果

详解AngularJS之$window窗口对象

PS:angularjs中书写window.resize功能

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="angular.js"></script>
 <script>
  var app = angular.module('myApp', []);
  app.controller('myCtrl', function ($scope, $window) {
   $scope.default = "hello world";
   var w = angular.element($window);
   w.bind('resize', function(){
    console.log(new Date())
   })
  });
 </script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<h1>{{default}}</h1>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 将disabled的元素置为enabled的三种方法
Jul 25 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
Feb 07 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
Mar 26 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
Jun 01 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
Sep 14 Javascript
解决VUEX刷新的时候出现数据消失
Jul 03 Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 Javascript
vue-router beforeEach跳转路由验证用户登录状态
Dec 26 Javascript
浅谈对于react-thunk中间件的简单理解
May 01 Javascript
koa2的中间件功能及应用示例
Mar 05 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 Javascript
JavaScript实现图片放大预览效果
Nov 02 Javascript
React-native桥接Android原生开发详解
Jan 17 #Javascript
vue自定义指令directive实例详解
Jan 17 #Javascript
移动web开发之touch事件实例详解
Jan 17 #Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 #Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
Jan 16 #Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 #Javascript
AngularJS监听ng-repeat渲染完成的两种方法
Jan 16 #Javascript
You might like
模仿OSO的论坛(三)
2006/10/09 PHP
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
php 三维饼图的实现代码
2008/09/28 PHP
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
Jquery 自定义动画概述及示例
2013/03/29 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
微信小程序button组件使用详解
2018/01/31 Javascript
从零学python系列之从文件读取和保存数据
2014/05/23 Python
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
人事助理岗位职责
2013/11/18 职场文书
运动会解说词50字
2014/01/18 职场文书
红头文件任命书范本
2014/06/05 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
小学中队活动总结
2015/05/11 职场文书
《花钟》教学反思
2016/02/17 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书