ember.js:使用笔记4 数组数据的分组显示

除了之前介绍的将数组数据在一个页面中输出的方法,还可以将数组数据分组,按照点击,在不同页面中分别显示,方法为:

Model:

例如:Table

Router:

设置一个父对象和子对象设置:

this.resource("tables",function() {  this.resource("table",{path:"/:table_id"});  //依照id输出
});

Route:

App.TablesRoute = Em.Route.extend({
	model: function() {
		return this.store.findAll("table");
	}
});

App.TableRoute = Em.Route.extend({
	model: function(params) {
		return this.store.find("table",params.table_id);
	}
});

Template:

  • tables:
  {{#each}}
    {{#link-to "table" this }}{{name}}{{/link-to}}  //注意this
  {{/each}}
  • table:  单个对象输出方式

Controller:

注意此时必须添加table的控制器,否则会出错。

App.TableController = Em.ObjectController.extend({

});

  

时间: 2024-10-27 04:24:35

ember.js:使用笔记4 数组数据的分组显示的相关文章

ember.js学习笔记

启动服务器 ember server 访问localhost:4200 创建新的路由:ember generate route 路由名称,运行此命令会同时创建一个/templates/.XXXhbs模板文件和/route/XXX.js文件 注:要看见新路由的内容需要,URL改为:localhost:4200/路由名称,此外,在application.hbs文件内需要有{{outlet}}

ember.js:使用笔记2-数据删除与存储

在模版中写好响应操作触发的action之后,可以在controller:actions中设置了,需要注意的是对数据的操作一般都是对单个object进行操作,所以先要使用笔记1中的方法使用ObjectController. 新增并存储数据: 模版中可以设置 {{input type="text" class="form-control" placeholder="title" value=newTitle}} 来进行双向绑定,在控制器actions

ember.js:使用笔记1-Array与Object

ember中数据一般都是以array的形式存储的,控制器使用,如: App.DataController = Em.ArrayController.extend({}); 在模版中使用{{#each}}输出Aarray的每个Object,这时时候可能需要对其进行操作,使用ObjectController;可以在每个each中使用itemController来新建一个ObjectController: {{#each data in model itemController="data"

ember.js:使用笔记9 开始单元测试

单元测试被限定在一个范围内,并且不需要Ember应用运行. 使用前准备: 加入Ember-QUnit:获取一系列测试助手帮助单元测试:加入 mian.js; 加入根元素(与集成测试的时候一样):App.rootElement = '#ember-testing'; 设置单元测试: Ember.setupForTesting();   //关闭Ember自动运行循环的执行,让用户一定程度上控制运行循环流程: emq.globalize();   //使助手函数变成了全局可用: 解析器: setRe

Js日常笔记之数组

1.Array构造函数有一个很大的问题,就是不同的参数,会导致它的行为不一致,es6好像专门为此对数组有升级 因此,不建议使用new Array生成新数组,直接使用数组字面量[...]是更好的做法. 2.Array.isArray方法用来判断一个值是否为数组.它可以弥补typeof运算符的不足 var a = [1, 2, 3]; typeof a // "object" Array.isArray(a) // true 3.push()和pop() 结合使用,就构成了"后进

[前端JS学习笔记]JavaScript 数组

一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {"json:":"666"}]; console.log(arr.length); 二.JavaScript 数组的两种声明 1.var arr = [元素]; var arr = ["坚持"]; 2.new Array(); 或者 var arr2 =

ember.js:使用笔记6 页面中插入效果

在某些情况下,我们需要根据数据生成某些效果:由于每个模版的controller可能不同,在不同页面之间跳转可能会无法随即更新的问题. controller: 直接使用标签:{{}},适用于在子项目内切换的时候及时更新: view: 使用didInsertElement: 适用于在其他页面切换到当前view的情况下:  

ember.js:使用笔记5 使用view

在已经设置route的情况下,以table为例,可以如下设置,范围为对应的模版: App.TableView = Em.View.extend({ }); App.TableIndexView = Em.View.extend({ }); 也可以通过如下新建,其获得的this为所在模版的this; {{#view InnerView}}......{{/view}} InnerView = Ember.View.extend({}); 简单设置: 设置整体的标签: tagName 设置class

ember.js:使用笔记6 子项目的前进与后退

如下代码会根据model产生不同的table项,在进行其他设置后,一般是根据id来跳转到相应项目子项中: {{#each}} {{#link-to "tabls" this}}{{name}}{{/link-to}} {{/each}} 这时候我们可能需要一额外的按钮而不是直接点击连接进行子项目的前进与后退,可采用如下方法: 方法1: 在对应controller内设置: nextId : function(){ var arrs = //获得对应子项目的content: var thi