我正在构建一个应该是一个非常简单的项目,它基于Ampersand的初学者项目(当你第一次运行ampersand
时)。我的添加页面有一个<select>
元素,应该使用其他集合中的数据填充。我一直在将此观点与编辑页面视图进行比较,因为我认为它们非常相似,但我无法弄明白。
表单子视图有一个waitFor
属性,但我不知道它期望的值是什么类型 - 我知道它应该是一个字符串 - 但该字符串代表什么? < / p>
下面你可以看到我正在尝试获取app.brandCollection
并将其值设置为this.model
,这是正确的吗?我需要修改输出并传递通过数据到具有正确格式的ampersand-select-view元素;这是我的下一个问题。 如果有人有这方面的建议,我也会很感激。
var PageView = require('./base');
var templates = require('../templates');
var ProjectForm = require('../forms/addProjectForm');
module.exports = PageView.extend({
pageTitle: 'add project',
template: templates.pages.projectAdd,
initialize: function () {
var self = this;
app.brandCollection.fetch({
success : function(collection, resp) {
console.log('SUCCESS: resp', resp);
self.brands = resp;
},
error: function(collection, resp) {
console.log('ERROR: resp', resp, options);
}
});
},
subviews: {
form: {
container: 'form',
waitFor: 'brands',
prepareView: function (el) {
return new ProjectForm({
el: el,
submitCallback: function (data) {
app.projectCollection.create(data, {
wait: true,
success: function () {
app.navigate('/');
app.projectCollection.fetch();
}
});
}
});
}
}
}
});
这只是添加页面视图,但我认为这就是所需要的。
答案 0 :(得分:0)
表单子视图有一个waitFor属性,但我不知道它期望的值是什么类型 - 我知道它应该是一个字符串 - 但该字符串代表什么?
此字符串表示具有固定this
上下文的当前对象中的路径。在您的示例中,您waitFor: 'brands'
只有PageView.brands
,因为PageView
是this
上下文。如果您有model.some.attribute
,则表示此字符串代表PageView.model.some.attribute
。它是遍历物体的便捷方式。
很少有信息可以回答你的后一个问题。您以什么形式检索数据?你以后想做什么? 如果你能在https://gitter.im/AmpersandJS/AmpersandJS上ping我们,那就快得多了:)