Ember.js 加载JSON数据后未刷新模型/视图
我正在尝试使用Ember.JS构建一个小型搜索应用程序- 以下是我的代码片段:Ember.js 加载JSON数据后未刷新模型/视图,ember.js,Ember.js,我正在尝试使用Ember.JS构建一个小型搜索应用程序- 以下是我的代码片段: application/adapter.js import DS from 'ember-data'; export default DS.RESTAdapter.extend({ host: 'http://c6403:2222', namespace: 'server' }); searializers/results.js import DS from 'ember-data'; expo
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: 'http://c6403:2222',
namespace: 'server'
});
import DS from 'ember-data';
export default DS.JSONSerializer.extend({
});
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
normalizePayload: function(payload) {
return {
title: payload.title,
description: payload.description,
type: payload.type,
url: payload.url,
};
}
});
export default Ember.Route.extend({
model: function (){
var searchText = 'searchText';
return this.store.query('result',{ searchText } ).then(function(results) {
alert(results);
return results;
});
},
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
description: DS.attr('string'),
url: DS.attr('string'),
type: DS.attr('string'),
searchText: DS.attr('string')
});
{{search-home action="submitsearch"}}
{{search-list searchlist=model}}
<ul>
hello - this is search list page {{ searchlist }}
{{#each searchlist as | searchItem|}}
<li>{{searchItem.title}}</li>
<li>{{searchItem.description}}</li>
<li>{{searchItem.url}}</li>
{{/each}}
您好-这是搜索列表页面{{searchlist}
{{{#每个搜索列表作为|搜索项}
- {{searchItem.title}
- {{searchItem.description}
- {{searchItem.url}
{{/每个}}
注意:我使用的是2.11.0版本,RESTSerializer希望对象数组在与模型名称复数匹配的有效负载密钥内传递。或者,如果您不想发送有效负载密钥,可以使用JsonSerializer。您还需要更改模型文件名 还有适配器等等
请看这个。为简单起见,我省略了该组件,并将列表放在索引模板中。感谢您的响应。是的,我试过jsonserializer。从“余烬数据”导入DS;导出默认的DS.JSONSerializer.extend({primaryKey:function(type){return'url';}});但我看到的错误是“typeError:无法读取未定义的属性'type'”,谢谢您的帮助。我稍微修改了我的问题。你能看一下吗?谢谢你的回复。当我将逻辑放在model:function(){}中时,它工作得很好。但我想把它付诸行动——在这里它不起作用。你能看一下吗?操作:{submitsearch:function(searchText){…}@amarnathreddyappu我更新了我的twiddle,请再看一看。这是很棒的东西。非常感谢你的帮助。我想为你的帮助投票1000次。我试图投票,但它一直在说“感谢您的反馈!声誉低于15的人所投的票会被记录下来,但不会改变公开显示的帖子分数。”所以不确定。
<ul>
hello - this is search list page {{ searchlist }}
{{#each searchlist as | searchItem|}}
<li>{{searchItem.title}}</li>
<li>{{searchItem.description}}</li>
<li>{{searchItem.url}}</li>
{{/each}}