问题标签 [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.
javascript - 你如何 $watch 分别在 ng-repeat 中输入并将结果附加到角度 js 中的特定行?
我在 ng-repeat 中有两个输入字段 b_price 和 s_price。我需要观察这两个模型的变化并附加估计。我的代码片段:html
js
当我在第一行的输入标签中输入值时,我会在第二行的输入中重复它。这可以使用 ng-model="testList.b_price[$index]" 修复。但我无法查看此值,即 $scope.testList.b_price[0], $scope.testList.b_price[i] 在 $watch 中给出错误。还有一个问题,我无法附加估计为估计[0],估计[2]。小提琴:http: //jsfiddle.net/sanj9090/b07jkstj/
angularjs - 为什么 $watch value 参数有时是字符串值,有时是函数?
我见过 $watch 的第一个参数只是一个字符串而不是函数的情况。什么时候使用函数,什么时候使用字符串?
在这个 plunker 中,我以两种方式做到了这一点。控制器中的 $watch 使用函数,而指令中的 $watch 使用字符串。它们都有效,但我只是不明白为什么它在一种情况下是一个函数,而在另一种情况下是一个字符串。谁能给我解释一下?
http://plnkr.co/edit/hSdQcRnvYn16ZeeJyPaM?p=preview
HTML:
javascript - 如何在使用应用或角度控制器之外的任何内容更改元素内容文本时调用函数
当特定元素内容文本发生更改时,我需要调用 javascript 函数。这个怎么做?我已经尝试过这段代码,但没有用。
我想在#showRouteSubTypes 元素文本发生更改时调用回调函数。
代码
angularjs - Angular $watch 只是父对象而不是它的多个子对象
我有一个 div,列出对象 POI = 的属性{"address":"Martinsicuro (TE), Italy", "phone":"+39 333 45657", "website':'http://mysite.it"}
。对象 POI 属于服务。指令的控制器具有getPoi()
从服务获取 POI 并将其返回给指令的功能。
我当前的 HTML 是这样的:
控制器
服务
通过这种方式,我添加了 3 个观察者。有没有办法只添加 1 个观察者,因为它是同一个父对象?这是一个JSFiddle 谢谢
[更新 1] 这是使用 @Charlie 提出的解决方案的(仍然不工作的)JSFiddle
[更新 2] 这是工作的JSFiddle
javascript - AngularJS $watch 多个项目
我想要实现的目标:
在更改更新 $storage 数组时观看“身高”、“胸部”、“腰部”、“臀部”和“大腿”范围。
当前问题:
尽管下面的方法有效,但我必须将每个部分重复 5 次,感觉这可以精简和清理!
我不能 100% 确定这是否是最好的方法,一些保证和建议会有所帮助!
谢谢你。
更新
angularjs - 需要推迟对输入模型的监视,直到鼠标离开或在 Angularjs 应用程序中输入
我正在使用带有单元格渲染器的 ag-grid 作为输入框,因为我在 ag-grid 中的 ng-blur 上触发事件时遇到问题,我尝试在输入框的 ng-model 上使用 $watch。现在,每当我对文本输入框进行更改时,都会触发该事件。但我在这里面临的问题是,假设我需要在文本框中输入 35,computeStatus
手表内部的功能会为我输入的每个数字触发。即,在输入 3 后computeStatus
功能触发,然后如果我输入 5(完成 35)然后再次computeStatus
触发功能。有什么办法可以推迟这个触发computeStatus
, 直到我通过鼠标离开或 tab 事件离开输入框。我花了很多时间使用 ng-blur 但事件根本没有触发所以最后我使用了这种方法但面临报告的问题。任何解决方案...
angularjs - 动态添加 $watch
我有一个 JSON 数据集,其中每一行都包含一个输入值、一小段用于计算的 JavaScript 代码和一个小计值,该小计值是 eval() 执行计算后输入值的结果。数据集将包含一行或多行。每个输入都将以 HTML 格式重复到页面上,并且小计的总和将作为总值以及每个单独的小计值显示给用户。
我尝试使用 $watch 并为转发器中的每一行添加一个,但我似乎无法让它们在用户更改输入值时触发。
我创建了我的第一个Sample_Plunker来展示我想要实现的目标,但没有成功。
不确定我是否也应该在这里发布代码,但任何帮助将不胜感激。
基本上我的HTML:
这是我的示例数据和 $watch 没有响应:
angularjs - 两个AngularJS服务之间的设计关系,用于登录和API
这更像是一个设计问题:
我有一个 angularJS 应用程序,
这个应用程序使用服务与具有登录功能的 API 进行通信......
和另一个处理用户登录/凭据/信息的服务:
我的问题是:
- 我应该
LoginService
注入managerApiService
并更新它的凭据吗? - 我应该
managerApiService
注入LoginService
并注意它的凭据吗? - 我应该将它们组合成一项服务吗?
还有什么想法吗?
angularjs - 如何在 scope.watch 中返回多个值?
我正在尝试从 $scope.watch 函数返回多个值。
但这给了我这个错误Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
。
我想在这里查看多个值: 1. APP 的 Current-Url 2. 如果某个元素有一个名为“cbp-small”的类
我也尝试过 $watchCollection 和 $watchGroup 但也无法使它们工作。因此我试图从 scope.watch 函数中返回多个值。