Ember js,我如何从路由中使用控制器中的数组
ember js, how can i use the array in the controllers from the routes
嗨,我是新的ember,我想使用处理一些数据从我的服务器端获取的数组。但我不知道该怎么做。下面的代码在routes.
searchList: null,
model: function() {
// This is so that we don't refresh it all the time
// arguably, this is a hack.
var searchList = this.get('searchList');
if(searchList !== null) {
return searchList;
}
var self = this;
return Ember.$.ajax({
url: 'http://coen268.peterbergstrom.com/timezones.php',
dataType: 'jsonp'
}).then(function(response) {
var cities = []; <-----------------------this is an array of names from server side
if (response && response.length) {
for(var i=0; i<response.length; i++) {
cities.push(Ember.Object.create(response[i]));
}
}
/*
cities.sort(function(a, b) {
return a.id - b.id
})
*/
self.set('searchList', cities);
return cities;
我只是想在我的控制器中使用城市变量,这样我就可以对输出进行排序,添加和重新组织到最终视图html。
多谢!
如果你的路由被调用,比如App.CitiesRoute
,那么你需要像这样声明你的CitiesController:
App.CitiesController = Ember.ArrayController.extend({});
你可以用简单的控制器属性来排序,或者在this
(它指的是你的ArrayController)上调用filter()
时进行过滤,如Ember的指南所示,
你还可以访问ArrayController的所有函数和属性,如Ember API文档所示。
你甚至可以通过在你的ArrayController中指定itemController
属性来为数组的每个项目指定一个特定的控制器,如:
App.CitiesController = Ember.ArrayController.extend({
itemController: 'city'
});
// Here you can specify an ObjectController linked to all your items in the cities array
App.CityController = Ember.ObjectController.extend({
cityNameLowercase: function() {
return this.get('cityName').toLowerCase();
}.property('cityName')
});
将绑定到数组的每个城市。
相关文章:
- 将Javascript数组发送到控制器ASP.NET MVC
- 将角度材质设计复选框绑定到控制器中的数组
- $scope$观察数组中的一个特定对象——Angular JS控制器
- 使用查询将对象数组发布到asp.net-mvc控制器操作的正确方法是什么
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 在angularJS中使用模态窗口时,在控制器之间共享对象数组
- Ember.js数组控制器计算属性的复选框
- 使用工厂/服务在控制器AngularJS之间推送数组中的数据
- 如何将从jQuery创建的数组传递给控制器方法
- 作为语法的控制器没有将新的obj传递给数组
- 将选定值数组发送到控制器-MVC
- 如何在Angular中设置异步HTTP服务的回调,以便在不定义数组的情况下在控制器中填充数组
- 我们可以将控制器中的JSON数据(MM/DD/YYYY格式)与今天的's日期,并在数组中显示筛选列表
- ASP.NET MVC:2d数组在从javascript传递到MVC控制器操作后为null
- 使用双向绑定将对象从角度视图动态添加/创建到控制器的数组
- 如何在laravel4中从控制器获取数组到ajax函数
- 角度-将数组中的信息从一个控制器传递到另一个控制器
- AJAX只将数组的最后一个元素传递给MVC 5控制器
- Angular控制器数组是空的,尽管我刚刚定义了它
- 如何使用带有输入字段的表单将项目推送到控制器数组中,该表单将显示在视图中