controller的概念,随着ember的版本更新,处于越来越弱势的地位,甚至有人提出,不要再用controller的方案。而且在ember的官方网站上,对于controller的介绍,也只有短短的一节。

但是,结合自己的概念,我认为controller在有一些地方,还是挺好用的。

创建controller

同样可以使用命令来创建controller:ember g controller <your-controller-name>,就可以创建相应的controller,controller需要与route对应,否则也支持冒泡原则。

页面请求中带有参数的情况

这种情况下,我之前已经在route中介绍过,就不做过多的解释了。

在什么情况下,需要用controller

首先我们要了解几个controller的特性,

  • ember中controller是与route绑定的,在controller初始化的时候,会将route的model传递进去
  • controller中的数据是可以在页面上展示渲染的;
  • controller中可以控制页面中的dom(在actions中的事件方法中),而route中是不可以控制的
  • 页面请求中带有参数的情况必须要用controller

基于上面几点来看,除了最后一点,其他的几点都是可以用component进行替换,这也是为什么不推荐使用controller的原因。

controller与model的区别

有人会问,既然controller中数据可以直接在页面上使用,model也可以,那么他们的区别在哪里呢,其实可以简单概括为依据话:如果是为了控制页面状态的数据,那么放在controller中;如果是有数据的怎删改查,那么用model。

Ember controller相关推荐

  1. 如何使用ember下拉框组件??

    2019独角兽企业重金招聘Python工程师标准>>> 文章来源:ember teach This addon enables legacy view support without ...

  2. Day 24: 使用Yeoman自动构建Ember项目

    到目前为止,我们这个系列讨论了Bower.AngularJS.GruntJS.PhoneGap.Meteor.Ember和TimelineJS等JavaScript技术.今天的<30天学习30种 ...

  3. Ember.js 入门指南——路由切换的终止和回跳

    2019独角兽企业重金招聘Python工程师标准>>> 在路由的切换过程中,Ember路由器会通过回调(beforeModel.model.afterModel.redirect)解 ...

  4. Ember.js如何与后端服务交互?adapter、store、ember data关系揭秘

    2019独角兽企业重金招聘Python工程师标准>>> 文章来源:Ember Teach 本项目讲解如何使用adapter.EmberData以及怎么连接到本地数据库. 项目简介 主 ...

  5. Ember——在构建Ember应用程序时,我们会使用到六个主要部件:应用程序(Application)、模型(Model)、视图(View)、模板(Template)、路由(...

    在构建Ember应用程序时,我们会使用到六个主要部件: 模板(Template).应用程序(Application).视图(View).路由(Routing).控制器(Controller)和模型(M ...

  6. Ember.js入门教程、博文汇总

    第一章 对象模型 Ember.js 入门指南--类的定义.初始化.继承 Ember.js 入门指南--类的扩展(reopen) Ember.js 入门指南--计算属性(compute properti ...

  7. Ember By Examples(总体介绍)

    2019独角兽企业重金招聘Python工程师标准>>> 高生产率是emberjs显著的一个特点,如果您接受emberjs团队的思想,认为web程序就该这样子写,那么他们所承诺的好处您 ...

  8. Ember版本小小结

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:http://120.24.90.140:2368/ember-summer/ 不得不说Ember更新实在是太快了! ...

  9. Ember.js 入门指南——路由重定向

    2019独角兽企业重金招聘Python工程师标准>>> 声明:对于transition这个词直译是"过渡"的意思,但是总觉得"路由的过渡"读起 ...

  10. MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录...

    注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是 ...

最新文章

  1. 患上乳腺癌后开发AI诊断模型,这位MIT女科学家获得AAAI首届百万美元最高奖
  2. BZOJ3514:GERALD07加强版(LCT,主席树)
  3. 谱聚类(spectral clustering)理解
  4. CVPR 2019 | 小样本域适应的目标检测
  5. python爬取歌曲评论_python 爬取歌曲评论的简单示例
  6. C# 虚方法与抽象方法区别
  7. html启动word程序,Word工具栏直接启动外部程序
  8. JAVA学习笔记(五)
  9. TeaVM奇怪的编译现象:同样代码,编译有时通过有时不通过
  10. 数据结构——二叉链表
  11. 电脑键盘各按键的作用及常用的快捷键总结
  12. The requested URL was not found on this server.
  13. CSS3动画(动画已丢,看原文)
  14. 【LeetCode】799.香槟塔
  15. 暴力字典密码破解之crypt
  16. 王爽 《汇编语言》之寄存器
  17. 超好用的电视盒第三方软件,4K画质观看~文末有李克勤歌曲哦
  18. CSU 1596: Dick.Z 的炉石赛(模拟)
  19. 删除文件提示需要计算机管理员权限,电脑怎么忽然删除文件夹需要管理员权限...
  20. python中算法与数学_中国古代数学算法的Python实现

热门文章

  1. TOPSIS法——利用原始数据进行综合评价
  2. 数据库之战 | 寻找你心中的数据库漫威英雄
  3. 浅议公司现场5S管理内部验收基准
  4. 找出101-200之间的素数
  5. 电脑桌面底部显示计算机图标怎么隐藏,电脑底部的任务栏如何隐藏
  6. 典型飞行控制系统的回路构成
  7. HTML颜色表及html代码
  8. JavaScript判断数组是否包含某元素
  9. vs2015离线安装QT的vsix工具
  10. matlab编制log算子程序代码,8.5.1实验1用Matlab生成LOG算子的图像.PDF