AngularJS 窗口内宽尺寸更改事件

2023-12-24

我正在寻找一种方法来观察窗口内部宽度尺寸变化的变化。我尝试了以下方法但没有成功:

$scope.$watch('window.innerWidth', function() {
     console.log(window.innerWidth);
});

有什么建议么?


我们可以用 jQuery 来做到这一点:

$(window).resize(function(){
    alert(window.innerWidth);

    $scope.$apply(function(){
       //do something to update current scope based on the new innerWidth and let angular update the view.
    });
});

请注意,当您在范围内绑定事件处理程序时,可能会重新创造了(如 ng-repeat 作用域、指令作用域等),当作用域被销毁时,您应该取消绑定事件处理程序。如果不这样做,每次重新创建作用域(重新运行控制器)时,都会添加 1 个处理程序,从而导致意外行为和泄漏。

在这种情况下,您可能需要识别附加的处理程序:

  $(window).on("resize.doResize", function (){
      alert(window.innerWidth);

      $scope.$apply(function(){
          //do something to update current scope based on the new innerWidth and let angular update the view.
      });
  });

  $scope.$on("$destroy",function (){
      $(window).off("resize.doResize"); //remove the handler added earlier
  });

在这个例子中,我使用事件命名空间 http://api.jquery.com/on/来自 jQuery。您可以根据您的要求采取不同的做法。

改进:如果您的事件处理程序需要较长的处理时间,为了避免用户不断调整窗口大小,导致事件处理程序运行多次的问题,我们可以考虑节流功能。如果你使用下划线 http://underscorejs.org/#throttle, 你可以试试:

$(window).on("resize.doResize", _.throttle(function (){
    alert(window.innerWidth);

    $scope.$apply(function(){
        //do something to update current scope based on the new innerWidth and let angular update the view.
    });
},100));

or 去抖功能:

$(window).on("resize.doResize", _.debounce(function (){
     alert(window.innerWidth);

     $scope.$apply(function(){
         //do something to update current scope based on the new innerWidth and let angular update the view.
     });
},100));

函数的节流和去抖动之间的区别 https://stackoverflow.com/questions/25991367/difference-between-throttling-and-debouncing-a-function

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS 窗口内宽尺寸更改事件 的相关文章

  • 为什么 window 与 Internet Explorer 中的 window.self 不同?

    关于我如何遇到这个问题有一个复杂的背景故事 但为什么self属性不完全等于窗口本身 在 Safari 和 Firefox 及其朋友中 结果如我所料 gt window window self true gt window window se
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • $exceptionHandler 中的 $location - 依赖冲突

    我正在尝试实现一个非常标准的任务 当发生异常时 重定向到我的 error page 代码的简化形式如下所示 app factory exceptionHandler location function location return fun
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • 计算三次贝塞尔曲线的弧长、曲线长度。为什么不工作?

    我正在用这个算法计算弧长 三次贝塞尔曲线的长度 function getArcLength path var STEPS 1000 gt precision var t 1 STEPS var aX 0 var aY 0 var bX 0
  • onclick 事件中未调用函数

    我想在每个 YouTube 链接的末尾添加一些 HTML 以在 litebox 中打开播放器 到目前为止 这是我的代码 document ready function var valid url new RegExp youtube com
  • mongodb 聚合 - 累积字段的不同组值

    如果我有Player表格文件 name String score Int 我有Group文档 其中组代表玩家列表 groupName String players ObjectID 玩家可以属于多个组 我想做一个聚合Player文档 按以下
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 传递给 $resource 的 @id 是什么?

    resource entries id id id update method PUT id是什么 在 资源上doc page http docs angularjs org api ngResource 24resource下面有人这么说
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 覆盖 jQuery 验证 MVC4 中的默认设置

    要覆盖查询验证插件 请在文件 http docs jquery com Plugins Validation validate toptions 推荐的方式是 selector validate invalidHandler functio
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style
  • 使用 Enzyme 测试 `React.createRef` api

    我想测试下面的类 它使用React createRef api 不过 快速搜索并没有发现任何这样做的例子 有人成功过吗 我该如何嘲笑裁判 理想情况下我想使用shallow class Main extends React Component
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green

随机推荐

  • 无法设置 JFrame 的最大大小(Windows 下)

    我正在尝试限制 a 的最大尺寸JFrame 然而 这只适用于 Linux 在 Windows 下 JFrame可以自由调整大小 代码非常简单 public class TestMaxSize extends javax swing JFra
  • 媒体播放器、进度条

    这是播放媒体时更新进度条的正确方法吗 我以为MediaPlayer中会有回调 但我找不到它 mediaPlayer start final SeekBar progress SeekBar dialog findViewById R id
  • 如何获取进程列表

    我正在使用节点并将其安装在我的机器上 现在我想获取我的机器上运行的进程列表 以便我可以查看 Apache 是否正在运行 MySQL 是否已启动等 我怎样才能做到这一点 我的 js 文件中只有非常基本的代码 我什至不知道从哪里开始 这是我的代
  • Eslint 预期缩进 1 个制表符但发现 4 个空格错误

    我正在使用 VScode 和最新版本的 Eslint 这是我第一次使用 linter 使用制表符作为缩进时 我不断收到此 linting 错误 严重性 错误 message 预期缩进 1 个制表符 但发现有 4 个空格 缩进 在 4 5 来
  • Pytorch批量矩阵向量外积

    我正在尝试使用 PyTorch 生成向量矩阵外积 张量 假设向量v有尺寸p和矩阵M有尺寸qXr 乘积的结果应为 pXqXr Example size 2 v 0 1 size 2X3 M 0 1 2 3 4 5 size 2X2X3 v M
  • 使用画布的 3D 立方体。需要一点改进

    我使用以下代码制作了这个 3d 立方体 Matrix mMatrix canvas getMatrix canvas save camera save camera rotateY angle camera getMatrix mMatri
  • Python 字符串与字节数组之间的转换

    如何将人类可读的字符串转换为字节数组并返回 假设我有 Hello World 并且想要一个字节数组 然后从字节数组到相同的字符串 您可以使用bytearray https docs python org 2 library function
  • 将 collections.deque 转换为 python 列表的算法复杂度是多少?

    我试图确定将 collections deque 对象转换为 python 列表对象的复杂度是 O n 我想它必须获取每个元素并将其转换为列表 但我似乎找不到双端队列背后的实现代码 那么 Python 是否在幕后内置了一些更高效的东西 可以
  • nlp - 如何检测句子中的单词是否指向颜色/身体部位/车辆

    因此 正如标题所示 我想知道句子中的某个单词是否指向 1 一种颜色 The grass is green 因此 绿色 是颜色 2 身体的一部分 Her hands are soft 因此 手 是身体的一部分 3 车辆 I am drivin
  • 循环数据提取所有以 .co.uk 结尾的电子邮件地址

    我试图通过应对以下挑战来提高我的编程 PHP 技能 接下来的问题并不是关于代码问题 也不是我要求代码问题 而是关于应该应用的编程逻辑 9 email protected cdn cgi l email protection 0 0 1 1
  • 远程访问HDFS

    我有hadoop服务器在某些服务器上运行 比如说IP 192 168 11 7 其 core site xml 如下
  • DataTable 服务器端仅在我有少量数据时才工作

    我正在从 json 加载传递到有关数据表表的服务器端处理 我有两种环境 一种用于测试 一种用于生产 它们具有相同的功能和数据库结构 当我在测试环境中测试新进程时 脚本加载数据没有任何问题 5行 相同的脚本不会在生产环境中加载数据 1200
  • 使用opencv读取带有type_id opencv-image的xml文件

    嘿 我在读取 type id opencv image 的 xml 文件时尝试了很多搜索 我在这里查找的只是 opencv matrix 所有可用的帮助对我来说都是无用的 请帮我从 xml 文件中读取图像矩阵 我将 xml 文件的上半部分粘
  • 如何循环这个CSS滑块动画?

    我正在尝试创建一个 css 滑块 到目前为止我只成功地让它正确迭代一次 有没有办法让它无限循环而不改变最终结果 div class slider div class slides div class slider 1 div div cla
  • 如何获取匹配源的JRE/JDK?

    我希望在我的 Windows 计算机上获得至少一个 JRE JDK 级别 其中我的 JRE JDK 源与 JRE JDK 的确切级别相匹配 我的目的是能够在调试时进入系统类 关于如何执行此操作有什么建议吗 提前致谢 大多数有用的源代码都位于
  • MongoDB查询,通过userID查找所有

    这是我的数据库中 客户 的结构 id oid xxxxx user oid xxxxx name Test Mobile email null phone xxxxx completed false v 0 我正在尝试查询具有特定 user
  • 如何使用 Moment 正确处理 Bing 中的“/Date(...-0700)/”日期格式?

    我正在使用 它以这种格式返回日期 Date 1538245980000 0700 它看起来像以毫秒为单位的 Unix 时间戳 后面跟着一个时区 此刻文档声称能够正确处理这些 https momentjs com docs parsing a
  • ReactJS 和 DRF:如何将 JWT 令牌存储在 HTTPonly cookie 中?

    目前 我的 Web 应用程序可以使用登录功能 在发出登录请求后 服务器会使用包含 2 个令牌的 JSON 对象进行响应 这是登录功能 async function login const data email email protected
  • 文本块不会更新

    我有一个TextBlock caloriesAvailableTextBlock 我正在尝试更新 这Button eatCaloriesButton 应该减少的数量TextBlock的约束为 100 但是 TextBlock不会更新 它仍然
  • AngularJS 窗口内宽尺寸更改事件

    我正在寻找一种方法来观察窗口内部宽度尺寸变化的变化 我尝试了以下方法但没有成功 scope watch window innerWidth function console log window innerWidth 有什么建议么 我们可以