问题标签 [angularjs-watch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - $watch 子元素
我一直在研究指令“input-container”,我需要在孩子的输入 ng-model 上添加一个 $watch。我该怎么做?
我需要根据我的输入值向我的指令包装添加不同的类。我添加了这样的手表
但是我不知道如何观看我的输入 ngModel。这是我发现让这个工作的唯一方法。无论如何,它不允许我访问 $viewValue
我需要的是动态获取输入 ngmodel 变量,一旦它为每个指令实例具有不同的名称,这样我就可以执行以下操作:
jquery - Angular $watch 没有触发
我有一个带有eonasdan datetimepicker 的文本输入。有一个引导工具提示。我想在 datetimpicker 处于活动状态时隐藏工具提示。
当日期时间选择器处于活动状态时,有 css 类(.bootstrap-datetimepicker-widget)。我试图获取具有该 css 类的项目数。通过萤火虫调试时,我也得到了这个数字。(我为 datetimepicker 和工具提示编写了角度指令)
.js文件
.html 文件
如果我的代码有问题,有人可以帮助我吗?
angularjs - 带有打字稿的 AngulaJS 无法在指令链接功能中访问角度服务
我是打字稿的新手,我正在尝试创建使用打字稿类编写的Angular.js指令,并希望在指令链接函数中使用外部角度服务,在$watch函数接收数据时调用。但是无论我怎么尝试,这个关键字总是链接到全局窗口,我无法访问注入的服务。请帮我做。这是我的指令:
javascript - 角度 $scope.$watch 对数组调用更新函数
在我的 plunk中,我有一个整数数组,我已将 $scope.$watch 附加到。当我更新数组时,我的 $scope.$watch 不会触发 console.log。为什么我的 console.log 没有被调用?
javascript - 带有父变量的角度单元测试观察者
如果 watcher 监视 $parent 范围变量,如何测试它?例如,我进入了儿童范围:
目前测试的样子:
但不幸的是,这个测试失败了。
angularjs - 编译后链接中的 $watch 不起作用
我正在尝试$watch
在发布链接功能中应用属性。
我的代码是这样的:
它只在页面加载时执行一次。有什么我无法弄清楚的问题吗?
编辑 :
我正在使用 angular gridster 在网格中显示各种图表。我的 index.html 看起来像:
chart 是另一个带有视图的指令:
脚本文件包含:
angularjs - 从该指令的回调中更改分配给指令的 ngModel
所以我有我的 SPA 应用程序。
在 plunker 上(我不会粘贴所有代码,因为它太多了)你可以看到它的部分娱乐(结构和层次结构是相同的)。
问题从哪里开始......根据设计文档,在其中一个页面上,我们有一个指向政策文档的链接和一个供客户检查的复选框,他确实阅读了它。
按设计:
- 复选框始终处于启用状态,因此客户端可以始终尝试检查它
- 客户端打开策略文档后(单击链接),当客户端单击该复选框时,该复选框应变为选中状态
- 如果客户还没有打开(点击)策略文档链接并尝试选中复选框,则在释放鼠标的那一刻它返回未选中,并且应该显示相关的错误消息
更新:
感谢Rafaeelloo和Kobi Cohen,我可以大大简化代码,并摆脱手表和无用的东西......
现在这就是我所拥有的......
这是指令控制器:
和指令html:
这是查看html:
这是视图控制器:
question/problem/opened question: 在更改视图控制器Callback
之前调用。ngModel
因此,如果我将其更改回false
内部callback
,它并没有真正计量,因为在 a 之后callback
(directive
据我了解)仍然将新值绑定到它。
有没有办法解决这个问题?
angularjs - $watch 不更新子视图
我有这个指令$scope.mode
在父项中发生了变化$scope
:
该指令包含在main.html中,以及加载子视图的ui-view中:
subviewTemplate.html:
子视图没有特定的控制器,它使用父控制器,如app.js中的设置:
以及main.html和subviewTemplate.html使用的控制器:
我不明白为什么它适用于main.html,正确更新,但不适用于subviewTemplate.html。console.log
inside$watch
打印正确的值。
有什么帮助吗?我在这里做错了什么?
angularjs - Angular $watch 不适用于指令更新的控制器变量
我正在尝试监视控制器变量,该变量使用函数映射从指令更新。变量正在更新并登录控制台,但注意它不起作用。
代码片段:
索引.html
应用程序.js
Plunker 链接是:https ://plnkr.co/edit/41WVLTNCE8GdoCdHHuFO?p=preview
javascript - 在 AngularJS 1.4.8 中查看元素高度的正确方法是什么?
我意识到那里有 SO 帖子询问类似甚至相同的事情,但在你捣碎重复按钮之前,请注意我已经尝试了每个解决方案,但没有一个在我的目标 AngularJS 版本(1.4 .8)。考虑到这一点:
HTML:
JavaScript:
小提琴。
这就是我想要做的事情:我想创建一个指令来监视元素的高度并在它发生变化时更新范围上的属性。我可以得到最初显示的值,所以我知道指令和控制器/范围之间的链接正在工作。但是,当 textarea 调整大小(通过拖动右下角)时,我无法获取要更新的值。我debugger;
在第二个watch
函数中调用了,并验证它只被调用一次。
当您找到可行的解决方案时,请随时更新链接的小提琴。