【发布时间】:2013-12-17 02:31:08
【问题描述】:
我最近开始使用带有 ASP.NET Web API 的 Ember.js。我很难让模型从服务器加载。但是现在我有了它,我想从视图中的商店获取模型。 目前我正在开发一个日历应用程序。这是逻辑,
App.IndexRoute = Ember.Route.extend({
//setupController: function (controller) {
// // Set the IndexController's `title`
// this.controllerFor('application').set('model', App.application.options);
//}
model: function () {
return this.store.findAll('eventList');
},
setupController: function (controller, model) {
this.controllerFor('index');
// controller.set('model', App.Events.findAll());
}
});
控制器:
App.IndexController = Ember.ArrayController.extend({
sortProperties: ['eventId'],
sortAscending: false,
//events: Ember.computed.alias('model')
});
型号
App.EventList = DS.Model.extend({
eventId: DS.attr('string'),
title: DS.attr('string'),
start: DS.attr('string'),
end: DS.attr('string'),
allDay: DS.attr('string')
});
App.EventListSerializer = DS.WebAPISerializer.extend({
primaryKey: 'eventId',
});
终于看到了
/// <reference path="../../@JSense.js" />
App.IndexView = Ember.View.extend({
didInsertElement: function () {
var events= this.get('controller').get('store');
//the view has been completely inserted into the dom
// $('#calendar').fullCalendar(this.get('controller.model'));
$('#calendar').fullCalendar({
events: events
});
现在我被困在将模型放入视图中。因为一旦didInsertElement 被触发,我想用我从商店收到的模型初始化日历插件。
var events= this.get('controller').get('store'); 不起作用。
但它确实让我明白了:
var events= this.get('controller').get('store');
如您所见,我的模型已经在其中了。那我怎么把它放到视图中呢? 我真的被卡住了,这就是为什么我最终问了这个问题。请帮忙...:)
【问题讨论】:
标签: javascript asp.net ember.js javascript-framework