RequireJs初步了解和使用
来源:互联网 发布:申请淘宝店铺号步骤 编辑:程序博客网 时间:2024/06/05 05:38
RequireJs的作用:
1.防止js加载阻塞页面渲染
2.使用程序调用的方式加载js,防止书写过多的.js文件
require会定义三个变量:define,require,requirejs,其中require === requirejs,一般使用require更简短
define 从名字就可以看出这个api是用来定义一个模块
require 加载依赖模块,并执行加载完后的回调函数
关于requireJs的几个小Demo
首先添加requireJs的js文件
Demo1:
a.js
//第一种写法/*function fun1(){ alert("it works");}fun1();*///第二种写法/*(function(){ function fun1(){ alert("it works2"); } fun1();})()*///第三种写法/*define(function(){ function fun1(){ alert("it works"); } fun1();})*///第四种写法define(["test1",'js2/test2'],function(test1,test2){ function fun1(){ alert("it works"); alert(test1.add(3,7)); alert(test2.sub(10,4)); } fun1();})
test1.js
define(function(){ var add=function(x,y){ return x+y; }; return{ add:add };});
main.js
require.config({ paths : { /* "test1":"test1",*/ "a":"a" }})
.jsp写法
<script src="js/require.js" data-main="js/main"></script><script type="text/javascript">/* require(["test1","a"],function(test1,a){ alert(test1.add(5,8));}) */require(["a"],function(a){ alert(a);})</script>
Demo2:
定义一个.js文件
define( [ 'dojo/_base/declare', 'dist/js/command/_baseCommand' ],function(declare,baseCommand) { var exports = dojo.declare("CommonMethods",baseCommand, { tableId:null, myMap:null, url:null, guid:"1EC3E7ED-0F84-4E80-A681-F7E49D48535A", name:"CommonMethods", /** * 构造函数 * @param map Map对象 * @returns 无 */ constructor: function (tableId) { this.tableId=tableId; }, /** * 点击 * @returns 无 */ daochu:function(){ try{ var tableData='<table cellspacing="0" class="pb" border="2">'; tableData+='\n<tr>'; var tableName=''; var tableArray=[]; //获取列 var opts = $(this.tableId).datagrid('getColumnFields'); //获取表头和表头属性 for(var i=1;i<opts.length;i++){ var col = $(this.tableId).datagrid( "getColumnOption" , opts[i] ); tableData+='\n<th>'; tableData+=col.title; tableData+="</th>"; // tableArray.push(col.title); tableArray[i]=opts[i]; } tableData+='</tr>'; /* for(var i=0;i<tableArray2.length;i++){ tableData+=tableArray2[i]+","; }*/ /*for(var i=0;i<tableArray.length;i++){ tableData+='\n<th>'; tableData+=tableArray[i]; tableData+="</th>"; }*/ var table=$(this.tableId).datagrid("getRows");//获取当前页的所有行 for(var i=0;i<table.length;i++){ tableData+='\n<tr>'; for(var j=1;j<tableArray.length;j++){ if(table[i][tableArray[j]]!=null){ tableData+='\n<td>'+table[i][tableArray[j]]+'</td>'; }else{ tableData+='\n<td>'+'暂无数据'+'</td>'; } } tableData+='</tr>'; } tableData+='</table>'; document.getElementById("hlf").value=tableData; var ss=document.getElementById("hlf").value ; // alert("sss"); document.getElementById("formAction").submit(); }catch(ex){ } } }); return exports; });
格式就是:
define([xxx,xxx2,xxx3],function(xxx1,xxx2,xx3){ var methodName=dojo.declare("本.js名称"{ tableId:null, name:"本.js名称", constructor: function (tableId) { this.tableId=tableId; }, daochu:function(){ },});return methodName;})
其他.js文件调此.js文件的方法
首先在顶端添加依赖
然后通过new一个对象使用
示例:
$("#report").on('click',function(){ //this.mCommonMethods=new CommonMethods(this.myMap,"#staticsTable"); this.mCommonMethods=new CommonMethods("#staticsTable"); this.mCommonMethods.daochu(); });
0 0
- RequireJs初步了解和使用
- requirejs初步了解
- Log4j —— 初步了解和使用
- 新手小白Selenium 自动化 初步了解 和初步使用
- RxJava初步了解和在Android中的使用
- ViewStub的初步了解与merge和include的使用
- 一.线程的初步了解和基本使用
- 初步了解KVO的使用
- requireJS的初步掌握
- 初步了解进程和线程
- git初步了解和学习
- NVPath初步学习和了解
- 了解一下 requireJS
- requireJs 使用
- RequireJs使用
- requireJs 使用
- RequireJS Optimizer 的使用和配置方法
- RequireJS Optimizer 的使用和配置
- Java6+Servlet+tomcat发布HelloWord
- linux zookeeper3.4.9集群搭建图文详解
- postgis初探
- 数据库<7>
- 服务器上安装tmux
- RequireJs初步了解和使用
- createDirectStream 实现offset管理
- 数据结构实验——基于数组表的实验
- Android 关于七牛的上传图片遇到的问题
- 87.ajax提交 后台返回中文乱码问题
- 欢迎使用CSDN-markdown编辑器
- POJ 3984 迷宫问题(记录路径的搜索)
- error:crosses initialization of ...的解决办法
- Python基础入门(十六)-迭代