什么时候应该使用角度$watch
函数,什么时候应该使用ng-change
angularjs指令?对我来说,他们都可以做同样的事情。
两者之间是否有差异或使用方式?
显然,它们并不相同。一种仅在控制器中使用;另一种仅用于控制器。另一个是对输入元素的指令。
但是即使在它们的应用中,它们也有所不同。
使用$watch
监视的表达式时,将在每个摘要循环上对其进行评估,如果有更改,则将调用处理程序。
使用ng-change
,响应事件,显式调用处理程序。
使用$watch
,更改可以来自任何地方:用户操作,控制器html" target="_blank">功能,服务-所有这些都会触发处理程序。
使用ng-change
,更改仅限于用户对特定输入元素的操作。
还值得指出的是ng-change
作品 只有 与组合ng-model
-换句话说,该ng- change
表达式只有当评估ngModel.$viewValue
(参考ngModelController
文档获取更多信息)被改变,这通常发生在响应用户启动的事件。
我想比较一下id,这里,如果id等于5,做这个,否则做那个。我怎样才能做到这一点?
问题内容: 当调用这样的函数时: HTML: JS: 一切正常,但是当我的功能在服务中(控制器可以访问)时,不会调用该功能。通过将服务名称作为前缀来调用它也不是一个选择(即使这在javascript代码本身中也有效) 所以我的问题是:当位于服务中的ng-change中调用服务时,正确的方法是什么? 提前致谢 问题答案: 您需要使用通过作用域的函数来调用服务函数。因此,在您的示例中,只要将服务注入到
问题内容: 我不知道如何使用和。官方文档没有帮助。 我不明白的是: 他们连接到DOM吗? 如何更新对模型的DOM更改? 它们之间的连接点是什么? 我尝试了本教程,但这需要对它的理解并且理所当然。 做什么和做什么,以及如何正确使用它们? 问题答案: 您需要了解AngularJS的工作原理才能理解它。 消化周期和作用域 首先,AngularJS定义了所谓的 摘要循环 的概念。这个周期可以看作是一个循环
问题内容: 我正在尝试做类似的事情: AngularJs部分: 但是不知何故,它向我展示了所有物品。如何筛选(键,值)? 问题答案: Angular 过滤器只能通过angular的API应用于数组,而不能应用于对象- “从数组中选择项的子集,并将其作为新数组返回。” 您在此处有两个选择: 1)移至数组或 -2)预过滤项目,如下所示: 并在控制器上: jsfiddle :http : //jsfid
问题内容: 嗨,我正在关注angularjs的一些教程 我正在使用1.3.0版本的angularjs 这是我的代码 我想我做的和本教程一样。但是当我检查萤火虫时,它给我以下错误。 如何摆脱这个? 问题答案: 在angular1.3.0中,您必须执行以下操作,因为在1.3.0-beta中禁用了Global控制器。参考 它还说您可以通过使用以下代码来获得较早的行为, 但不建议这样做
问题内容: 我想问你是否可以帮我这个忙。 我在这里用我的问题创建了一个jsfiddle 。我需要使用ng-model =“ my _ {{$ index}}”方式在ng-repeater中动态生成一些带有ng-model的输入。 在jsfiddle中,您可以看到一切正常,直到我尝试动态生成它为止。 HTML将是: 还有javascript … 你能给我个主意吗? 非常感谢。 问题答案: 它能解决您