我有一个带有包含表格的模板的 ember 组件。在我的组件中 - 我想向 3rd 方服务发出 ajax 调用并获取一些数据。获得这些数据后,我将不得不根据输入进行另一个后续的 ajax 调用。由于这需要时间,我想在 ajax 调用完成时一个接一个地更新视图。在视觉上 - 这将在处理一个请求后向表中添加一个新行。
目前,ember 只允许我们通过它model()
在路由器中的方法传递一个数组对象。
我研究了几个像List-view这样的项目,但它并没有解决上述问题。
编辑:-
以下是我目前正在做的事情 -
import Ember from 'ember';
export default Ember.Route.extend({
model() {
var list = [];
var promise = $.ajax({
type: 'GET',
url: 'thirdPartyService'
});
promise = promise.then(function(data){
data = JSON.parse(data);
return data[1];
});
promise.then(function(data){
for (var i = 0; i < data.length; i++) {
var idea = data[i];
var url = "thirdPartyService";
var secondPromise = $.ajax({
type: 'GET',
url: url,
dataType: "text"
});
secondPromise = secondPromise.then(function(data){
var result = x2js.xml_str2json(data);
return result;
});
secondPromise.then(function(data){
list.pushObject(item);
});
return secondPromise;
}
});
return list;
}
});
我的模板
<tbody>
{{#each model as |idea|}}
<tr>
<td><input type="checkbox" name="id" value="{{idea.id}}"></td>
<td>{{idea.field4}}</td>
<td>{{idea.field5}}</td>
<td>{{idea.field}}</td>
<td>{{idea.field2}}</td>
<td>{{idea.field3}}</td>
</tr>
{{/each}}
</tbody>
Ember 视图将在列表更改时呈现。我想要做的是 - 在list.pushObject(item);
被调用时向表中添加一行。目前 - 我看到视图正在等待返回所有内容。
此外,这个应用程序是一个电子应用程序——因此,我没有一个后端,而且我没有使用 ember-data。我正在调用几个 3rd 方服务,因此不涉及 ember 模型。