使用LinkTo显示单个对象
Using LinkTo to show a single object
我没有使用EmberData,因为我对它不太满意。相反,我使用$.getJSON
:获取模型
App.Persons = App.Model.extend({
id : null,
name : null,
email : null
});
App.PersonsRoute = Ember.Route.extend({
model : function() {
return App.Persons.findAll();
}
});
App.Persons.reopenClass({
findAll : function() {
return $.getJSON("personsjson.php").then(function(response) {
var s = [];
$.each(response, function(i, row) {
return s.pushObject(App.Persons.create(row));
});
return s;
});
}
});
App.Router.map(function() {
this.resource('persons', function() {
this.resource('person', {
path : '/:person_id'
});
});
});
我想当有人点击使用LinkTo Helper的人的名字时显示电子邮件。所以我创建了一个这样的个人路线,
App.PersonRoute = Ember.Route.extend({
model : function(params) {
return App.Persons.findBy('id', params.person_id);
}
});
但在url上,我没有在最后得到id,而是得到了"未定义"。
以下是我正在做的HTML端,
{{#each person in content }}
<tr><td>
{{#link-to 'person' this}} <p>{{person.name}}</p>{{/link-to}}
</td></tr>
{{/each}}
可能是什么问题?
如果有人感兴趣,我会在后端做这件事
SELECT id, name, email FROM persons;
问题是this
是对App.PersonsController
的引用,而不是App.Person
模型。因此,为了实现这一点,将person
传递给{{#linkTo}}
,如:
{{#each person in content }}
<tr><td>
{{#link-to 'person' person}} <p>{{person.name}}</p>{{/link-to}}
</td></tr>
{{/each}}
----更新-----
也可以尝试将模型重命名为App.Person,而不是App.Persons
App.Person = App.Model.extend({
id : null,
name : null,
email : null
});
App.PersonsRoute = Ember.Route.extend({
model : function() {
return App.Person.findAll();
}
});
App.Person.reopenClass({
findAll : function() {
return $.getJSON("personsjson.php").then(function(response) {
var s = [];
$.each(response, function(i, row) {
return s.pushObject(App.Person.create(row));
});
return s;
});
}
});
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 仅使用文件对象选择单个文件
- 如何使用javascript从JSON访问单个对象
- 将一个对象集合映射到汇总集合的单个对象
- 高级布线和单个对象定义
- 嵌套描述函数中对象的单个mock(jasmine
- 如何在返回单个对象时递归使用 Array.prototype.find()
- 使用Handlebars获取同级JSON数据,其中单个对象没有父索引键,但多个项有一个索引键
- 基于单个属性从数组中获取唯一对象
- 从mongo返回的对象(findOne)中筛选/返回单个嵌套对象
- 如何在javascript中的单个对象中推送类似的索引类型键
- Knockout.js用单个json对象绑定一个可观察对象
- 访问单个 Json 对象中的元素
- 下划线分组依据单个方面与嵌套对象属性的比较
- NodeJS + mysql:选择返回单个对象的查询
- 单个页面中的多个会话对象
- 在javascript(Angularjs)中将对象数组转换为单个对象
- 在单个 Javascript 函数中处理多个 websocket 订阅,但只有一个连接对象
- 更改 JS 数组中的单个对象会更改所有元素
- 从 Web 服务返回单个 json 对象的数组