【发布时间】:2014-04-25 21:00:43
【问题描述】:
我有一个非常小的简单时间应用程序,它使用来自 api http://date.jsontest.com/ 的 json
除了从模型中调用模板内的 json 值外,基本上一切正常
var Time = new Marionette.Application();
Time.addRegions({
mainRegion: "#main-region"
});
TimeModel = Backbone.Model.extend({
defaults: {
time: "Now",
milliseconds_since_epoch: 1234,
date: "Today"
},
urlRoot: 'http://date.jsontest.com/'
});
var TodaysTime = new TimeModel();
TimeView = Marionette.ItemView.extend({
template: "#template",
model: TodaysTime,
onRender: function () {
TodaysTime.fetch({
success: function (apiTime) {
console.log(apiTime.attributes.time);
TodaysTime = apiTime;
}
});
}
});
var timeView = new TimeView();
Time.mainRegion.show(timeView);
Time.start();
然后在我的模板中我有这个
<p><%- time %> <%- milliseconds_since_epoch %></p>
我没有收到任何错误,也没有显示任何内容,但函数内部的 console.log(apiTime.attributes.time) 工作正常
如果我在控制台中输入 TodaysTime.attributes.time 它也可以
但是如果我尝试<p><%- TodaysTime.attributes.time %> </p> 我会得到默认值Now
显示模型价值的正确方法是什么?
Github 链接测试https://github.com/nolawi/time-machine-test
【问题讨论】:
标签: javascript json backbone.js underscore.js marionette