问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用javascript的PureMVC框架 - Command/controller层

发布网友 发布时间:2022-05-01 12:43

我来回答

1个回答

热心网友 时间:2022-04-24 04:28

Command类是无状态的,只在需要时才被创建。Command是负责处理复杂的数据逻辑的地方,它的使用归纳起来有两种1. 通过发送Notification 来触发Command2. addSubCommand() 来启动 口水不要太多,我们马上进入正题 在demo文件夹下建立文件夹controller ,然后在controller夹下建立一个叫StartupCommand.js的js文件,输入以下内容var StartupCommand = Objs("sweeps.controller.StartupCommand", MacroCommand, { /** * @override * 添加Subcommands来启动PuerMVC组件 * 通常这里是先准备Model(即Proxy),然后是View(即Mediators); */ initializeMacroCommand: function( note ) { alert('收到由facade发来的'); //this.addSubCommand( PrepModelCommand ); //this.addSubCommand( PrepViewCommand ); } }); 跟着在demo文件夹下面建立一个文件夹abc来存放Noticefiction,在abc文件夹下建立NotificationNames.js文件,输入下面内容var NotificationNames = Objs("demo.abc.NotificationNames",{}); NotificationNames.STARTUP = "startup";然后在html文件里导入 StartupCommand.js和NotificationNames.js文件<script type="text/javascript" src="src/demo/abc/NotificationNames.js"></script> <script type="text/javascript" src="src/demo/controller/StartupCommand.js"></script> 完成后程序的目录树为下图跟着回到上次如何使用javascript的PureMVC框架 - 初始化里面的 ApplicationFacade.js类在 initializeController()方法里面添加代码 ApplicationFacade.$super.initializeController.call( this ); //注册StartupCommand,并让他监听STARTUP消息 this.registerCommand( NotificationNames.STARTUP, StartupCommand ); 以及在startup()方法里面添加代码
//发送STARTUP消息给StartupCommand this.sendNotification( NotificationNames.STARTUP, app ); 这里主要是通过使用sendNotification(notice, app);方法发送Notification来触发StartupCommand 类。
程序在初始化的时候调用initializeController()方法,并使用registerCommand()方法注册了StartupCommand实例,这样当收到由sendNotification()方法发送出来的NotificationNames.STARTUP消息后就会触发StartupCommand实例的initializeMacroCommand()方法了
运行后你会看到“收到由facade发来的”。接下来我们来看看怎么使用addSubCommand() 来启动Command实例.现在controller文件夹下新建PrepViewCommand.js文件,并输入以下内容var PrepViewCommand = Objs("demo.controller.PrepViewCommand", SimpleCommand, { /** * @override */ execute: function( note ) { alert('使用addSubCommand方法调用Command实例'); } });然后在html文件里导入 PrepViewCommand.js文件。
<script type="text/javascript" src="src/demo/controller/PrepViewCommand.js"></script> 接着在StartupCommand.js文件的initializeMacroCommand方法添加
this.addSubCommand( PrepViewCommand );这样就可以调用到PrepViewCommand.js文件的execut()方法了!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
器世间的意思是什么 学吉他大概学费是多少 电吉他培训一般学费多少 天津吉他培训成人班费用多少 吉他培训班一般的学费多少钱 电脑怎么保存下载的视频文件怎么把视频保存到电脑上 双子座男生如果受到伤害死心了'是不是无论怎么做都无法挽回了。 和平精英微信怎么切换账号 更新之后换号方法 有关说说搞笑幽默句子的短句(寻找搞笑幽默的快乐) 说说你多大了,看看能不能做我干闺女怎么回复? 怎么学习javascript MVC 想自学javascript mvc框架,求推荐资料 我对javaScriptMVC框架的语法不太懂,希望熟悉javaScriptMVC框架的... javascript mvc框架有哪些 Javascript有mvc框架吗? javascript的MVC框架是怎么开发出来的??思路是什么? 如何使用javascript的PureMVC框架 javascript MVC模式 对于MVC我懂得如何架构和写代码,能不能就登录这一... 华悦集成灶售后你好,我买了华悦集成灶蒸烤一体的机子,烤箱的玻璃碎了,怎么办? 烤箱底盘玻璃碎了,换成钢化玻璃的可以吗? 小烤箱玻璃碎了还能用么 烤箱玻璃门碎了,可以用什么代替 长帝烤箱玻璃门裂开了能修复吗 烤箱上的玻璃门坏了能换吗? 地精工程学和侏儒工程学哪个好 烤箱玻璃碎了怎么办 《魔兽世界》工程学,地精好还是侏儒好?谢谢哈 烤箱门玻璃碎了能用吗 老年职工怎样健身才科学? 中意人寿保险在网上要如何退保? MVC 怎么实现用到哪个js文件,就加载哪个js? 同作为JavaScript MVC框架,Backbone和AngularJS各有什么优缺点_百度知 ... 怎样学javascript 老姚 炸薯条袋子上的字母是W还是M? 在.net MVC3 框架中 怎么让javascript的代码页面中运行?也可以说是怎么调用javascript的方法。 哪里有卖甘梅薯条袋子的啊? 台湾超市流行的大袋子薯条叫什么名字 薯条袋子上标有(300±5)克的字样表示这袋薯条的标准质量是(),最多是多少克,最少是多少克? 为什么冷冻薯条的袋子上都有通风小孔?为什么不能密封包装? 倪师傅甘梅薯条,你hold住吗? 薯条放哪比较好,在常温的地方放着行吗?不会坏吧 炸好的薯条常温下可以放多久? 有三袋薯条其中 分的英文怎么读 为什么我自己炸的土豆没有肯德基里的薯条脆呀,到底怎么炸才好吃 分用字母表示是什么 油炸薯条放在封闭袋里为什么潮? 26个字母分配音标怎么分? 求积分的字母怎么读 英语里带字母的分数应该怎么说?