Ajax 使用余烬数据/数据存储将外部数据加载到余烬模板中
下面是我要做的:Ajax 使用余烬数据/数据存储将外部数据加载到余烬模板中,ajax,json,ember.js,handlebars.js,ember-data,Ajax,Json,Ember.js,Handlebars.js,Ember Data,下面是我要做的: 发出ajax请求以从PHP脚本检索JSON数据 将该信息插入到数据存储模型中 将这些模型存储在控制器中 使用带有把手模板的{{#each}显示信息 余烬数据是否有内置的数据检索方式?若否,在哪里? 是否应该实现AJAX请求 将JSON数据插入DS模型的最佳方式是什么 然后用控制器同步模型的最佳方法是什么 任何实现所有4个步骤的示例都会非常有用,因为我似乎找不到任何示例。发出AJAX请求 // Find all pets. var pets = App.Pet.find(
- 余烬数据是否有内置的数据检索方式?若否,在哪里? 是否应该实现AJAX请求
- 将JSON数据插入DS模型的最佳方式是什么
- 然后用控制器同步模型的最佳方法是什么
任何实现所有4个步骤的示例都会非常有用,因为我似乎找不到任何示例。发出AJAX请求
// Find all pets.
var pets = App.Pet.find();
// Find pet with ID of 1.
var pet = App.Pet.find(1);
进入数据存储模型
上面的pets
将是一个包含许多App.Pet
型号的DS.RecordArray,而Pet
只是一个App.Pet
存储在控制器中
App.IndexRoute = Ember.Route.extend({
model: function() {
return App.Pet.find(4);
}
});
路由器用于设置控制器,因此我们在这里指定IndexController
应包含一个ID为4的App.Pet
。这当然可以是动态的。由于您的控制器仅代表一个型号,因此它应该是ObjectController
类型,但如果它用于存储多个宠物,那么它应该是ArrayController
类型
通过指定模型,您可以在IndexController
和索引视图(data template name=“index”
)中访问该模型。这是因为当您进入索引路由时,IndexController
被定位/实例化,IndexView
被实例化并放置到DOM中,所有这些都是在咨询IndexRoute
以设置控制器之后进行的
现在,您可以在模板中执行类似操作(尽管不需要model.
):{{{model.name}
,这将获得您宠物的名字
使用#每个
使用上述代码的修改版本查找您的所有宠物,但返回所有宠物。请记住,这是通过不对find
方法指定任何参数来实现的:
App.IndexRoute = Ember.Route.extend({
model: function() {
return App.Pet.find();
}
});
现在,我们可以循环遍历索引模板中的所有宠物。虽然有很多方法可以循环,比如包括内容。
/模型。
,不包括。内容
/模型
,使用此
,控制器
,等等,但这是不必要的,但这是另一天的事。目前最重要的是,这将对您有效,并且是最直观的:
{{#each pet in controller}}
{{pet.name}}
{{/each}}
如果你愿意的话,我会为此准备一个JSFIDLE。请让我知道
问题
余烬数据是否有内置的数据检索方式?若否,在哪里?
是否应该实现AJAX请求
是的,这就是我所知道的
将JSON数据插入DS模型的最佳方式是什么
按照上面的例子使用余烬数据
然后用控制器同步模型的最佳方法是什么
在适当的路径中使用
模型
钩子指定控制器代表的模型。发出AJAX请求
// Find all pets.
var pets = App.Pet.find();
// Find pet with ID of 1.
var pet = App.Pet.find(1);
进入数据存储模型
上面的pets
将是一个包含许多App.Pet
型号的DS.RecordArray,而Pet
只是一个App.Pet
存储在控制器中
App.IndexRoute = Ember.Route.extend({
model: function() {
return App.Pet.find(4);
}
});
路由器用于设置控制器,因此我们在这里指定IndexController
应包含一个ID为4的App.Pet
。这当然可以是动态的。由于您的控制器仅代表一个型号,因此它应该是ObjectController
类型,但如果它用于存储多个宠物,那么它应该是ArrayController
类型
通过指定模型,您可以在IndexController
和索引视图(data template name=“index”
)中访问该模型。这是因为当您进入索引路由时,IndexController
被定位/实例化,IndexView
被实例化并放置到DOM中,所有这些都是在咨询IndexRoute
以设置控制器之后进行的
现在,您可以在模板中执行类似操作(尽管不需要model.
):{{{model.name}
,这将获得您宠物的名字
使用#每个
使用上述代码的修改版本查找您的所有宠物,但返回所有宠物。请记住,这是通过不对find
方法指定任何参数来实现的:
App.IndexRoute = Ember.Route.extend({
model: function() {
return App.Pet.find();
}
});
现在,我们可以循环遍历索引模板中的所有宠物。虽然有很多方法可以循环,比如包括内容。
/模型。
,不包括。内容
/模型
,使用此
,控制器
,等等,但这是不必要的,但这是另一天的事。目前最重要的是,这将对您有效,并且是最直观的:
{{#each pet in controller}}
{{pet.name}}
{{/each}}
如果你愿意的话,我会为此准备一个JSFIDLE。请让我知道
问题
余烬数据是否有内置的数据检索方式?若否,在哪里?
是否应该实现AJAX请求
是的,这就是我所知道的
将JSON数据插入DS模型的最佳方式是什么
按照上面的例子使用余烬数据
然后用控制器同步模型的最佳方法是什么
在适当的路径中使用模型
钩子指定控制器代表的模型。
正如我在评论中所说,这个问题一次会问很多问题,所以接下来,这里有一个公关方面的工作