我有一个包含一个表的模板的一个烬组件。在我的组件中 - 我想发出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>
余烬视图将呈现列表更改时。我想要做的是 - 在调用list.pushObject(item);
时向表中添加一行。目前 - 我看到视图正在等待,直到一切都返回。
另外,这个应用程序是一个电子应用程序 - 由于这个我没有后端每说,我没有使用余烬数据。我打电话给几个第三方服务,因此没有涉及到烬模。
严。 Ember允许各种绑定。只需要在控制器或路由中预定义即可。请告诉我们您尝试了什么或您正在寻找什么。目前的问题太广泛,无法回答或做出假设。 –
@kristjanreinhold我用当前的工作模型和我的环境的一些细节(我正在构建一个电子应用程序)改进了答案 – Chan