Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建自动更新的javascript模板?_Javascript - Fatal编程技术网

如何创建自动更新的javascript模板?

如何创建自动更新的javascript模板?,javascript,Javascript,我正在使用javascript创建一个基于数据的web应用程序。该数据存储为js对象,并使用AJAX不断更新。该对象有一些方法来重新组织数据,例如排序和过滤,还有一个名为render()的方法,该方法使用js模板更新html来表示数据 我想要的是,每次数据对象更改时,它都会自动调用render方法来更新视图。我知道这可以通过在我所有修改数据的方法中调用render()来实现,但我正在寻找一种更干净的方法来实现 我读过一些关于观察者模式的东西,但是我不熟悉它,我不知道我是否可以用它来实现这一点。我

我正在使用javascript创建一个基于数据的web应用程序。该数据存储为js对象,并使用AJAX不断更新。该对象有一些方法来重新组织数据,例如排序和过滤,还有一个名为
render()
的方法,该方法使用js模板更新html来表示数据

我想要的是,每次数据对象更改时,它都会自动调用render方法来更新视图。我知道这可以通过在我所有修改数据的方法中调用
render()
来实现,但我正在寻找一种更干净的方法来实现

我读过一些关于观察者模式的东西,但是我不熟悉它,我不知道我是否可以用它来实现这一点。我也知道Object.watch()方法,但这不是所有浏览器都支持的,所以我不能使用它

你对我该如何做有什么建议或例子吗


谢谢。

通常,流程是这样的:

  • 调用Ajax
  • 从Ajax调用返回成功后,更改数据
  • 然后调用render()一次以呈现所有内容
  • 在某个时间间隔后或在某个条件下转到1
  • 这为每个Ajax更新提供了一个render()调用,这可能是您想要的


    HTH

    谢谢,这在更新数据时效果很好,但在不需要任何AJAX调用的排序或过滤时效果不好。我正在寻找一个解决方案,将这些情况下也工作。有什么想法吗?