Extjs4中一个APP中能否有多个laravel 控制器中间件

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
var app=angular.module("myApp",[]).controller("myController",function("这里有多少个参数"){})
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
取决于你注入了几个参数,一般用法如下:
var app = angular.module('app', []);
app.controller(function($scope, $http){
//那这个时候就只有这两个参数,这个东东在angular里叫做依赖注入。并不是默认行为,二是需要你来自己制定的,所以是多少个,就看你自己怎么用了
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
var app=angular.module("myApp",[]);
app.controller("myController",['$scope','aService',...,function($scope,aService,...){
//可以注入你写的factory,provider等等
controller第一个参数是名称,后面是一个数组,数组的前面是声明注入的内容,可以是n个,最后是个function,function的参数个数也必须是n个,必须跟前面声明注入的内容一一对应
就这样实现了依赖注入啊
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
console.log(arguments) 看下~
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
可以是n个,
jsvar app=angular.module("myApp",[])
.controller("myController",['$scope','aService',...,function($scope,aService,...){
//可以注入你写的factory,provider等等
同步到新浪微博
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:产品咨询热线:021-
Sencha Anmimator
HTML5动画编辑工具 Sencha Animator
Sencha Animator 是一个基于GUI的编辑器,针对的是想要创建HTML5动画的交互设计师。
EXTJS 4应用架构设计
应用的可扩展性、可维护性和灵活性取决于应用架构的质量。不幸的是,这往往被视为马后炮。概念设计和原型变成了大规模的应用,许多应用的基础基本就是示例代码的复制与粘贴,这很诱人,因为这可以让你在项目在开始阶段有一个快速的进度。 然而,节省下来的时间相对于项目后期的维护、扩展甚至重构应用的时间来说,算不得什么。比较好的的方式是写一个可靠的架构,在实施前编写好遵循的约定和定义应用的视图、模型、存储和控制器等。在这篇文章,我们将会看到一个受欢迎的应用并讨论如何构建用户接口,从而创建可靠的架构。
应用程序架构体系会为实际类和框架代码提供结构和一致性。建立一个好的架构有以下主要好处:
■ 每个应用的工作方式是相同的,因而你只需要学习一次。
■ 在应用之间很容易分享代码,因为工作方式是相同的。
■ 你可以使用ExtJS的生成工具为你的应用程序创建经过优化的发布版本。
在ExtJS 4创建你的应用时,应该考虑一下我们定义的约定,尤其是统一的目录结构。这个结构要求所有类文件都放到app目录下,在该目录下,可根据命名空间划建立models、views、controllers和stores等4个子目录。
虽然ExtJS 4提供了如何构建你的应用的最佳做法,但是你也可以根据自己需要修改我们建议的文件和类的命名约定,例如,你可以为你的控制器在“Controller”前加上前缀,如“Users”修改为“UsersController”。在这种情形下,记得给所有的控制器文件和类加前缀。最重要的一点是,要在开始编写应用程序前定义好这些约定并遵守它。这样,你就可以在任何需要的地方调用这些类。我们强烈建议要遵守控制器、模型、Store、视图这4个文件夹的命名约定,这可以确保你可以使用对应用进行优化。
寻找平衡点
将应用程序的UI分割成视图是好的开始。通常做法是,你提供线框,而设计师创建UI实体模型。尝试一下使用以下模型,让我们的设计师如何使用ExtJS重建(非常有吸引力)Pandora应用。
我们需要在视图粒度与通用性之间寻求一个平衡。让我们看看当划分太多视图的时候会发生什么。
将UI划分成太多小的视图将会让视图在控制器中变得难以管理、引用和控制。另外,由于每个视图都有其自己的文件,创建过多的视图会让定义UI块或视图逻辑时很难找到视图文件。
另一方面,我们不希望视图变得太通用,因为这样在修改时会失去灵活性。
在这种情况下,每个视图已经过于简化。当视图的几个部件需要自定义视图逻辑的时候,视图类最终会有太多的负担,产生的视图类变得很难维护。另外,当设计师考虑改变UI时,我们不得不重构视图定义和视图逻辑,这是相当烦人的事。
当我们可以轻松的在页面上重新排列视图,热切不需要每次都重构它们的时候,说明已经取得了平衡。例如,我们可以把广告作为独立视图,这样,我就可以很容器移动它,甚至删除它。
在这一版本,我们根据视图的任务来划分UI。一旦你对使用视图组合UI有整体思路,那么,你就可以在实现它们时对其粒度作出调整。有时候,你会觉得两个视图应该成为一个,或是视图太通用,需要将其划分成多个视图,这是一个良好的开端的基础。我相信我们已经做到了这一点。
现在我们已经有了视图的基本结构,是时候考虑模型的问题了。通过考察UI中动态数据的类型,我们可以获得应用中所需的不同模型。
我们已经决定只使用两个模型:Song和Station。我们可以定义多两个模型:Artist和Album。然而,与视图类似,我们并不想定义模型时也变得太通用。在当前情况下,我们并不需要将artist和album信息独立出来,因为当前应用不允许用户根据指定的artist选择song。相反,数据是根据station组织的,song是重点,而artist和album是song的属性。这意味着我们不能将song、artist和album结合到一个模型。这可以大大简化应用的数据边界。这也能简化在服务器端的API,因而我们不需要加载artists和albums。因而,对于这个示例,只需要2个模型:Song和Station。
现在我们需要考虑如何在应用中使用模型,也就是如何设计Store的问题。
要搞清楚需要使用那些Store是比较容易的。一个好的策略是先确定页面上所有需要绑定数据的组件。在当前情况下,我们需要列出用户收喜爱stations,一个显示近期播放过的歌曲的scroller,一个搜索区域以显示搜索结果。每一个这样的视图度需要绑定一个Store。
有几种方法可以让你通过应用控制器发布应用的响应。让我们开始考虑当前例子需要那些控制器。
这里有2个基本控制器:SongController和StationController。ExtJS 4允许你使用一个控制同时其控制几个视图。StationController要处理的事情包括创建新的stations,以及当用户喜爱的station加载后,将其应用到StationList视图。SongController负责管理SongInfo视图和根据用户的liking、disliking、暂停和跳过操作更新RecentSong Store。控制器可通过应用事件的触发和监听实现相互之间的交互。当我们可以创建余下的控制器,一个用于管理playback,另外一个用于搜索stations,我想我们已经找到了好的划分响应的方法。
三思而后行
我们分享我们的想法,重点在于希望有助于你写代码前的应用架构的规划。我们期望通过应用程序的细节讨论有助于你建立更灵活的更容易维护架构。
咨询热线:021-
传真:021-博客分类:
关于一个ext4MVC的例子,代码中有相关注释;
详细见附件(是一个myEclipse项目)
本人在使用中的感受:
如果我们这样分层了,有利于组件重用,软件开发和维护,但学习成本很高,要新人接受需要一段时间,在开发中要按照一定规范.
建议不要随便使用这样分层!
每一层的介绍:
1,model和store其实就是管数据的,
2,view层,纯界面,极少逻辑代码,逻辑代码都写到controller中,这样好管理.
3,controller,建议逻辑代码都写到这里,这样好管理.
关于文件夹名称:
注意文件夹起名controller/model/store/view文件夹名称一定的,
这样每个相应的类名也可以根据这个来取,如:"keel.view.goods.GoodsListView"
keel是整个应用程序的命名空间,view就是view文件夹,goods.GoodsListView就是view文件夹下的goods文件夹的
GoodsListView.js文件;
这样程序就可以用动态加载功能了;
controller介绍:
其实我们很大一部分工作就在controller了,例子代码如下:
商品控制层,
所有逻辑代码都在这里写
Ext.define('keel.controller.GoodsCtrl', {
extend: 'Ext.app.Controller',
stores: ['GoodsStore'],//声明该控制层要用到的store
models: ['GoodsModel'],//声明该控制层要用到的model
views: ['goods.GoodsListView','goods.GoodsWinView'],//声明该控制层要用到的view
refs: [//相当于一个映射,这样就可以在控制层方便的通过geter取得相应的对象了
ref: 'goodslistview',
selector: 'goodslistview'
ref: 'goodswinview',
selector: 'goodswinview'
init: function() {
this.control({//这里的this相当于这个控制层
'viewport & goodslistview': {
afterrender: function(gp){//侦听goodslistview渲染
gp.down('button[action=testBtn1]').on('click',function(){
//侦听goodslistview工具条上action=testBtn1的按钮单击事件
this.showWin();
gp.down('button[action=testBtn2]').on('click',function(){
//侦听goodslistview工具条上action=testBtn2的按钮单击事件
alert(this.getGoodslistview().title)
'goodswinview button[action=ok]': {
//侦听goodswinview中action=ok的按钮单击事件
click: function(){
this.getGoodswinview().setTitle(Ext.util.Format.date(new Date(),'Y-m-d H:i:s'));
showWin : function(){
Ext.create('keel.view.goods.GoodsWinView').show();
下载次数: 7868
浏览 17101
论坛回复 /
(17 / 44203)
你好
为什么我用Eclipse写的运行起来中文是乱码啊
编码设置UTF-8格式应该不会乱码了
浏览: 573493 次
来自: 广州
不知道楼主能不能解决下浏览器兼容的问题,目前好像火狐和谷歌浏览 ...
你好!我后台用的是C#,为什么一直上传失败,好像是后台取不到参 ...
楼主,可以给一份源码吗?
capaa52007 写道LZ你好!我用的是Ext4.2 既然 ...

我要回帖

更多关于 中频焊机控制器 的文章

 

随机推荐