angular框架的介绍大家可以参考下官网和中文社区。
下面链接是简介:
http://www.angularjs.cn/docs/developer/328.html
简单总结下就是:
双向绑定,可测试性的代码结构,模型视图分离的一个前端MV*框架
其中angular也提供了模型的概念和依赖管理,不过这个依赖都是要在js对象都已经定义的前提下,没有像amd/cmd提供按需加载。
我个人比较喜欢cmd(seajs),它对顶级作用域window的使用约束较多,全局对象和方法少,缺点就是很多原生库,都需要手工wrap下。
angular定义的controller一般都是全局的,我想用seajs来管理angular的代码和依赖,下面是一起使用的示例,有类似需求的童鞋可以参考下
// file ng_module2.js define(function(require){ var Log = require('log'); return { init: function(){ Log.w('Load angular module : m2'); var ag = window.angular; if(!ag){ Log.w('Error when load angular module : m2 : no angular'); return; } var m2 = ag.module('m2', []); m2.filter('greet', function(){ return function(name) { return 'Hello, ' + name + '!'; }; }); } }; });
// file ng_module1.js define(function(require){ require('module/demo/ng_module2').init(); var Log = require('log'); return { init: function(){ Log.w('Load angular module : m1'); var ag = window.angular; if(!ag){ Log.w('Error when load angular module : m1 : no angular'); return; } var m1 = ag.module('m1', ['m2']); m1.directive('testDateFormat', function(){ return function(scope, el, attrs, ctrl){ var format = 'yyyy-MM-dd'; var updateTime = function(){ el.text(new Date().format(format)); }; // watch scope.format in ctrl scope.$watch('format', function(value){ format = value; updateTime(); }); updateTime(); } }); } }; });
// file demo/ng1.js // 初始化页面 define(function(require){ var Log = require('log'); require('module/demo/ng_module1').init(); var agAdaptor = require('x/x.ex.angular'); return { initPage: function(from, pageInfo, params){ var TestCtrl = function($scope){ $scope.format = 'yyyy/MM/dd'; }; window.TestCtrl = TestCtrl; agAdaptor.init(['m1'], 'TestCtrl', 'ngContext'); }, dump : '' }; });
// file x/x.ex.angular.js // angular bootstrap适配——在bootstrap之前动态修改下dom define(function(require){ var $ = require('jquery'); var Log = require('log'); return { init: function(modules, ctrlName, contextId){ if(!window.angular){ Log.w('No angluar defined!', 'WARN'); return; } var _context = $('#' + contextId); this.initCtrl(_context, ctrlName); this.initModel(_context); this.bootstrapAngular(modules); }, // 把ng-controller补上 initCtrl: function(_context, ctrlName){ if(ctrlName) _context.attr('ng-controller', ctrlName); }, // 根据name把ng-model补上 initModel: function(_context){ _context.find('[name^=f_]').each(function(){ var _el = $(this); var name = _el.attr('name'); var modelName = name.split('_').remove(0).join('.'); _el.attr('ng-model', modelName); }); }, bootstrapAngular: function(modules){ window.angular.bootstrap(document, modules); } }; });
<div class="m_10"> <h3>Angular——Work with SeaJS</h3> <div id="ngContext"> Date format: <input ng-model="format"> <br /> Current time is: <span test-date-format=""></span> </div> </div> seajs.use('module/demo/ng1', function(IPage){ IPage.initPage(); });
相关推荐
很全面的cmd命令控制,可以很轻松的学习电脑的dos操作命令,关于电脑
1、bat/cmd自由选择输入参数及条件限定; 2、类似x.bat -a xxxx -b yyyy,自由加多个参数,不加,灵活设置; 3、可自由进行条件限定;
详细JS中的模块规范(CommonJS,AMD,CMD
*.vue文件经过编译使其满足AMD/CMD的模式
易语言CMD模块易语言CMD模块易语言CMD模块易语言CMD模块
NULL 博文链接:https://qianjigui.iteye.com/blog/1980323
模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统...那么在理想状态下我们只需要完成自己部分的核心业务逻辑代码,其他方面的依赖可以通过直接加载被人已经写好模块进行使用即
CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD命令行使用CMD...
与传统的模块加载相比,modJS 会根据产品实际使用场景,自动选择一种相应的方案,使最终的实现非常轻量简洁。 使用 模块的定义 modJS是一个精简版的AMD/CMD规范,并不完全遵守AMD/CMD规范,目的在于希望给使用者...
离线安装包,亲测可用
Python与cmd终端交互,使用argparse示例.py parser = argparse.ArgumentParser() parser.add_argument('-v', '--verbose', help='run with verbose', action='store_true') parser.add_argument('-d', '--debug', ...
bat/cmd批处理程序设计教程.docx
如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已。 现在就看看吧,这些规范到底是啥东西,干嘛的。
linux 离线安装perl-IPC-Cmd
用于将html代码打包成cmd,amd规范可以使用的模块。这样可以跨域使用。 Installation npm install gulp-view-compile Test npm test example var rename = require('gulp-rename'); var viewCompile = require('gulp-...
备注:支持使用 AMD/CMD 标准模块加载方法加载 2.注入配置config接口 所有需要使用JSSDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用)...
通过ros订阅游戏手柄的消息/joy,然后转换成turtlebot能够接收的速度消息的格式/cmd_vel
cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块cmd.ec下载模块
动态异步加载“ CommonJS ”和“ umd”和“ amd”,“ cmd”和“ ES”和'json'模块6合一 非常简洁小巧的工具,基于Promise 基于fetch ,加载的模块如果不同域,则必须支持跨域请求,因为要使用模块的源代码来生成...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装