0

我有一些代码,它的结果取决于当前时间。说,

Shop.prototype.isOpen = function() {
  var now = new Date();
  var today = now.getDay();

  return this.openTime(today) <= now && now <= this.closeTime(today);
};

然后在视图中,我们显示一家商店是否营业:

<span ng-show="shop.isOpen()">Open now!</span>

isOpen 方法被调用一次,之后不再更新。

我有很多复杂的应用程序逻辑,这些逻辑依赖于 isOpen 和类似的“有时限”数据。

保持 isOpen 数据新鲜并让应用程序逻辑/视图始终保持同步的一般方法是什么?

我认为一种解决方案是拥有一个中间对象,其值会以频繁的间隔更新,但我不确定这是否是正确的方法。

4

1 回答 1

2

指令的角度文档有一个时间被更新的例子。

http://docs.angularjs.org/guide/directive

但基本上,让您的控制器设置一个 $scope(或 $rootScope,取决于您要如何访问它)属性,该属性通过 setTimeout 循环进行更新。

于 2013-01-22T18:06:20.107 回答