javascript - 如何观察属性并在重新加载时清除它们

标签 javascript ember.js handlebars.js ember-data

我每 4 秒重新加载一次 View 的数据

var App = Ember.Application.create({
    ready: function() {
        setInterval(function() {
            App.Quotes.find().reload
        }, 4000);
    }
});

我用这个在我的 View 中获取值:

    <blockquote>
    {{#each model}}
        <p>{{message}}</p>
    {{/each}}
    </blockquote>

问题

每 4 秒就会向 REST API 发出一个新请求以获取新报价。但是,该新报价将附加到现有报价中。如何覆盖旧引号并仅显示新的、更改的值?

最佳答案

参见 Ember model reloading in interval并可能做出微小的改变:

didLoad: function(){
  var self = this;
  setInterval(function() {
    self.clear(); // <- this clears out the existing record
    self.reload();
  }, 4000);
}

我觉得您在 Ember.Application 对象而不是数组 Controller 中执行此操作有点奇怪。这样做有什么理由吗?

关于javascript - 如何观察属性并在重新加载时清除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17825135/

相关文章:

angularjs - Backbone如何观察数据变化?

javascript - 转换到路线后重新加载模型

javascript - Node js、Express 和 handlebars 渲染全日历插件不工作

javascript - Metalsmith 布局导致 "no files to process"错误

javascript - '...paths.js' 在 ' gulp.src([...paths.js, ' 中是什么意思 !gulpfile.babel.js'], { base : '.' }) '?

javascript - 如何使用 For 循环在 JavaScript 中将元素添加到数组末尾

javascript - Clean-Css 任务在 gulpfile : cannot read property 'on' 中给出错误

javascript - 解析 React 中字符串内的嵌套 HTML?

javascript - 存储并返回到 Ember 路线

html - 如何使用 “data-*” 将值绑定(bind)到 “bindAttr” 属性?