问题标签 [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.

0 投票
1 回答
635 浏览

javascript - 当浏览器刷新 localStorage 刷新时

我现在正在修改此代码,我想利用 localStorage 将我的小部件的状态保存在我的仪表板上,以便当用户返回我的应用程序时,小部件的位置完好无损并保存但每次我刷新浏览器它回到了当前的 scope.dashboards 状态,我不知道如何修复。我将 ngStorage 模块用于 localStorage

0 投票
1 回答
557 浏览

javascript - 如何在不使用服务范围 angularjs 的情况下 $watch 服务值的变化

所以我有一个控制器来监视注入到其中的几个不同服务的变化。控制器当前正在继承每个服务的范围以 $watch 从中获取一个值。我很想找到一种方法来 $watch 那个值,而不会将整个服务范围拖入组合中。这是我的伪代码:

任何有关如何避免使用服务范围来更新控制器的指针都将不胜感激。

非常感谢

0 投票
2 回答
2961 浏览

angularjs - $scope$watch 如果另一个变量改变了,就改变一个变量

所以我必须范围对象

实际上它们包含相同的数据,但我想知道手表是如何工作的,所以我可以在我的项目中使用它。

而且我想观看我使用过滤器的 hf_directory:搜索,因此它会在输入字段 ng-model="search" 中键入内容后更新 scope.brylanty

我试图做这样的事情,但没有做任何改变

两个范围对象都由 ng-repeat 循环显示,首先我使用过滤器:搜索另一个没有,我知道我可以只使用另一个过滤器:搜索,但我想学习如何使用手表;)

我的对象是 geojson 数据,它们包含相同的值,geojson 如下所示:

在你的建议之后,我尝试了这个

和这个

但是没有任何好的结果,在这两种情况下,当我开始输入某些东西时,对象 brylanty 正在消失?

0 投票
1 回答
352 浏览

javascript - ng-options 的值和标签相等时的错误?

如果我在 $scope.$watch 语句中设置 ng-options,我会遇到问题。

以下作品: <select ... ng-options="x.val as x.id for x in options"></select>

但这不会: <select ... ng-options="x.val as x.val for x in options"></select>

Plunker 显示我的问题 - 单击“更新选项”

似乎如果模型的值是在选项之前设置的,并且标签和值是等效的,那么模型将不会匹配任何可用的选项。

这是一个错误,还是我做错了什么?

示例控制器代码:

示例视图:

当手表触发并且选项更新时,选择将显示空白或默认选项,而不是预期的“两个”。但是,如果标签和值不同(甚至略有不同),一切都会按预期工作

0 投票
1 回答
3688 浏览

javascript - AngularJs $watchGroup - which expression in the group was last changed?

Using $watchGroup, how can I determine which expression in the group was changed


Edit 1:-
--->the problem is i can't unbind the n_vals from the newValues.

Solution:-

look the following link:
Deep copying objects in angular?

0 投票
1 回答
53 浏览

javascript - 修改 $watch 中的观察值

我有一个<input ng-model='list' ng-list>, 并且我想确保此文本字段中没有出现重复项 - 如果列表包含重复项,我想自动删除它们。

我将 a$scope.$watch('list', function(listValues) {放入控制器中,并尝试从中删除任何重复项listValues,但有问题。在 watch 函数中,如果我设置listValues = _.unique(listValues),$scope.list的值永远不会改变。如果我尝试$scope.list = _.unique(listValues),我会收到有关摘要循环已在运行的错误。

我如何观察范围变量的变化,当它发生变化时,执行一个操作来改变这个新值?

这是一个不工作的例子:http ://plnkr.co/edit/b0bAuP1aXPg3HryxCD9k?p=preview

我以为这很简单。我应该使用其他方法吗?

0 投票
1 回答
145 浏览

angularjs - 测试时未触发构造函数中的 AngularJS 观察程序

我创建了一个返回构造函数的工厂。构造函数包括一个观察实例属性的观察者。在测试中更改该属性时,不会触发观察者。在测试之外,它被解雇了。$rootScope.$apply 似乎没有帮助。

这是一个 jsfiddle,其中包含我的代码和测试的简化版本。

http://jsfiddle.net/2Ny8x/234/

为什么观察者不开火?

0 投票
2 回答
1330 浏览

angularjs - ng-include 模板变量在 $scope.$watch 上没有改变(没有按钮触发器)?

我有一个控制器“AController”,它有一个模板变量 $scope.tpl.partialtemplate1 = 'initialcontactlist.html'。

'AController' 基本上负责整个页面,'mainpage.html',我们有

在“mainpage.html”上,有一个添加联系人的表单。此表单不是“partialtemplate1”视图的一部分。

提交表单后,我希望将“partialtemplate1”的 HTML 视图重置为初始页面加载时的状态,因为它将重新加载最新的联系人列表。

我尝试过在成功添加每个新联系人后增加一个变量,然后监视该变量并更改部分模板变量。

例如,在“AController”中:

为什么部分模板变量没有改变?是的,每次都会成功保存联系人 - 我在 Rails 工厂处理了这个问题......

0 投票
2 回答
773 浏览

angularjs - AngularJS - 2 选择了多年。第二个选项必须大于或等于选择的第一个选项

我有 2 个选择,我需要选择一个年份范围。第二个选择的年份必须大于或等于第一个。因此,如果我在第一个选择中选择一年,第二个选择应该改变并只显示大于或等于第一个选择中选择的年份的年份。

这就是我现在所拥有的:

我在这个小提琴中也有它:http: //jsfiddle.net/d3sb4hky/

谢谢。

0 投票
3 回答
2303 浏览

javascript - 除非我输入有效的电子邮件地址,否则不会因电子邮件输入而触发 ng-change

无效电子邮件输入的模型值始终未定义。我希望能够检查用户是否输入了任何文本(即使它还不是有效的电子邮件地址)。

有关实施的更多详细信息,请查看 plnkr:http ://plnkr.co/edit/qV2eqGFhPvZSZKexDVF2?p=preview

html:

控制器:

干杯。