当前位置: 首页 > 知识库问答 >
问题:

观察多个$作用域属性

秦宁
2023-03-14

有没有办法使用$watch订阅多个对象上的事件

E、 g。

$scope.$watch('item1, item2', function () { });

共有3个答案

司徒鸿文
2023-03-14

第一个参数也可以是函数。

$scope.$watch(function watchBothItems() {
  return itemsCombinedValue();
}, function whenItemsChange() {
  //stuff
});

如果两个组合值很简单,那么第一个参数通常只是一个角度表达式。例如,firstName和lastName:

$scope.$watch('firstName + lastName', function() {
  //stuff
});
邰钟展
2023-03-14

从AngularJS 1.1.4开始,您可以使用$watchCollection

$scope.$watchCollection('[item1, item2]', function(newValues, oldValues){
    // do stuff here
    // newValues and oldValues contain the new and respectively old value
    // of the observed collection array
});

这里的Plunker例子

此处为文档

何宏博
2023-03-14

从AngularJS 1.3开始,有一种新方法称为观察一组表达式的新方法,名为watchGroup。

$scope.foo = 'foo';
$scope.bar = 'bar';

$scope.$watchGroup(['foo', 'bar'], function(newValues, oldValues, scope) {
  // newValues array contains the current values of the watch expressions
  // with the indexes matching those of the watchExpression array
  // i.e.
  // newValues[0] -> $scope.foo 
  // and 
  // newValues[1] -> $scope.bar 
});
 类似资料:
  • 我试图用制作一个简单的马里奥游戏。因此,我需要一个,用于杀死(Mario中的主要敌人)。经过一番研究之后,我研究了 我还创建了一个 我相信(不确定我是否完全理解了这一点)这使得成为,并且我需要多个,这意味着我将有多个的 所以我有两个问题:我对有什么不了解,以及如何让多个()在死亡时调用

  • 学习角得到服务和组件和可观察性。 我正在尝试在我的演示应用程序中实现暗模式。该控件由一个服务完成,该服务根据浏览器默认值(如果找到)设置暗主题。 它在应用程序组件中初始化,以便以后在应用程序中放置控制开关。 暗模式从布尔值开始工作,因此为true或false。据我所知,使用一个可观察对象是不够的,因为我希望多个订阅者都以两种方式绑定到订阅,每种方式在服务中切换这些可观察对象。到目前为止,我很肯定这

  • 问题内容: 有没有办法使用以下方法订阅多个对象上的事件 例如 问题答案: 从AngularJS 1.3开始,有一个新方法称为观察一组表达式。

  • 问题内容: angular js如何监视自定义指令上的属性以接受要绑定的角度值 这是我到目前为止的内容: 但观察到的值返回为未定义 问题答案: 来自http://docs.angularjs.org/api/ng.$compile.directive.Attributes: 所有这些在Angular中均视为等效: 所以属性归一化为 因此,这就是您想要的:

  • 我在我的一个项目中使用angular 4,我正在进行一个http调用来获取数据。当数据从后端返回时,我会缓存数据,这样对于后续的请求,我就不必一次又一次地进行其余的调用。 这工作得很好。但是如果两个调用同时进行,我会看到网络选项卡中有两个请求而不是一个。所以我尝试共享()来满足“一个可观察的,多个订阅者”。 但同样,我看到网络选项卡中有多个请求,而不是一个。要只打一个电话并与所有用户分享结果,必须

  • 问题内容: 我一直在阅读Observer模式,以保持UI处于最新状态,但仍然看不到它的用途。即使在我的特定对象中通知了我的MainActivity然后运行update();方法我仍然无法使用Pet对象来获取更新值,因为该对象是在Oncreate中创建的…而我只是无法创建新对象,因为那时变量会有所不同..这是我的实施,它似乎不起作用。 观察者/ MainActivity 可观察/宠物 问题答案: 首