博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EmberJS路由详解
阅读量:6987 次
发布时间:2019-06-27

本文共 984 字,大约阅读时间需要 3 分钟。

配置路由器,ember中是根据路径寻找与路由名相对应的模板和控制器的,比如当访问http://localhost:80/这个网址的时候,ember框架会自动寻找与路由名post相对应的PostTemplate模板和PostRoute路由以及PostController控制器,其中路由和控制器可以不定义,框架会自动生成,但如果你想要在加载模板的时候做一些事情,比如给模板填充数据等,就可以在路由里面通过model或setupController两个钩子方法,这两个方法会自动运行,当用户在模板里触发某个行为的时候,就会在模板所对应的控制器里面找相应的行为方法,所以说控制器可以用来监控模板视图中用户操作的动作,如果控制器是用来监控动作的,就用Ember.ObjectController.extend()来声明,如果控制器是用来给模板提供数据(该数据可以在模板中直接遍历),就用Ember.ArrayController.extend()来声明

更正以上说法:如果是在地址栏中直接输入的URL,是根据URL寻找模板、路由、控制器,如果是在模板中通过路由名定义的链接,则是根据路由名找相应的模板、路由、控制器

App.Route.map(function(){

  this.resource("post",{path:'/'});

  this.resource("posts",{path:"/:posts_id"});

  this.resource('about',{path:'about'});

})

App.PostRoute = Ember.Route.extend({

  model:function(){

    return [{id:1,name:'kevin',age:18},{id:2,name:'ivan',age:20}];

  }

})

 

App.PostController = Ember.ObjectController.extend({

isEditing: false,
actions: {
edit: function() {
this.set('isEditing', true);
},

doneEditing: function() {

this.set('isEditing', false);
}
}
});

转载地址:http://gsmpl.baihongyu.com/

你可能感兴趣的文章
在esx server VI里导入其它虚拟机
查看>>
ORACLE TRACE 10046事件常见的几种方法
查看>>
View State的知识
查看>>
Linux下常用的压缩解压命令[收藏]
查看>>
路演使用 VHD Native Boot 打造多系统应用环境
查看>>
7.Azure文件(文件共享)-NAS(上)
查看>>
如何用js显示时钟?
查看>>
spring使用中报Cannot proxy target class because CGLIB2 is not available错
查看>>
RedHat EL5 安装Oracle 10g RAC之--Oracle软件安装
查看>>
Swift中获取系统语言
查看>>
bigswitch公司
查看>>
上接稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据...
查看>>
ISA2006标准版常见问题(二)
查看>>
免费的编程中文书籍索引
查看>>
Mybatis在idea中错误:Invalid bound statement (not found)
查看>>
Gradle2.0用户指南翻译——第九章. Groovy 快速入门
查看>>
判断无线网卡是否支持“无线承载网络”的方法
查看>>
一个基于webrick 的简单web服务器
查看>>
XenApp / XenDesktop 7.6 初体验四 配置Win 8 模板和Personal vDisk
查看>>
Exchange申请证书发送加密邮件
查看>>