fastadmin中调用js的方法


Posted in Javascript onMay 14, 2019

想要了解fastadmin中的js是怎么调用的,就应该先了解RequireJs。

RequireJs是模块化工具,每一个我们自己的js文件或者库都可以看成是一个模块,按需引入。写法如下:

<script data-main="js/main" src="js/require.js"></script>

src是引入requrejs框架文件,data-main是我们自己的js的总入口。js/main对应的js文件是js/main.js(可自行命名)

 我们在写项目的时候肯定会用到一些js和js类库,那RequireJs是怎么引用的,下面来介绍一下,

引入第三方库:

require.config({
paths: {


'lang': "empty:",


'form': 'require-form',


'table': 'require-table',


'upload': 'require-upload',


'validator': 'require-validator',


'drag': 'jquery.drag.min',


'drop': 'jquery.drop.min',


'echarts': 'echarts.min',


'echarts-theme': 'echarts-theme',


'jquery': '../libs/jquery/dist/jquery.min',

},

// shim依赖配置

shim: {


'addons': ['backend'],


'bootstrap': ['jquery'],


'bootstrap-table': {



deps: [




'bootstrap',




// 'css!../libs/bootstrap-table/dist/bootstrap-table.min.css'



],


exports: '$.fn.bootstrapTable'


},


'bootstrap-table-lang': {



deps: ['bootstrap-table'],



exports: '$.fn.bootstrapTable.defaults'


},

},

map: {


'*': {



'css': '../libs/require-css/css.min'


}

},

waitSeconds: 30,

charset: 'utf-8' // 文件编码
});

 config中paths用来配置支持AMD规范的库和js文件,shim是用来配不支持AMD规范的js。配好之后,假设现在要使用jquery和bootstrap,只要用require方法:

require(['jquery', 'bootstrap'], function ($, undefined) {
 //该function将在引入jquery和bootstrap完成之后执行。
});

 要使用我们自己定义的js,首先得用模块化的方式编写我们的js,使用define定义一个模块:

define('modelname',['jquery','xxx'], function ($,xxx) {
 var hehe = {
  function1: function () {
  },
  function2: function () {
  },
  function3: function () {
  }
 };
 return hehe;
});

define有三个参数,第一个是模块名(可以不写,默认与模块名与文件名同名),第二个是当前模块依赖的其他模块,第三个是一个function,模块体,要求必须return一个数据。

PS:下面看下Fastadmin里面的js运行原理

以category.js为例来,说明一下fastadmin里面js绑定事件的运行原理。

第一行,定义引用的组件

define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
add: function () {
  Controller.api.bindevent();
},

这个代码,代表调用api对象的bindevent函数。函数定义如下:

bindevent: function () {
 $(document).on("change", "#c-type", function () {
  $("#c-pid option[data-type='all']").prop("selected", true);
  $("#c-pid option").removeClass("hide");
  $("#c-pid option[data-type!='" + $(this).val() + "'][data-type!='all']").addClass("hide");
  $("#c-pid").selectpicker("refresh");
 });    
 Form.api.bindevent($("form[role=form]"));
}

函数第一部分是绑定类别变动的事件。

第二部分是是绑定窗体时间。

绑定窗体的代码在/public/assets/js/require-form.js文件里面。

这里面定义了Form对象,在这里我们可以看到events事件。

里面包含validator,主要是做客户端验证。有了这个就等于自动绑定了form验证,验证规则自己定制。

selectpicker 主要用于select下拉选择。

此外还有selectpage、cxselect、citypicker、datetimepicker、plupload、faselect、fieldlist,此外可以自己定制。

总结

以上所述是小编给大家介绍的fastadmin中调用js的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript学习之闭包分析
Dec 02 Javascript
jQuery实现用方向键控制层的上下左右移动
Jan 13 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
Apr 18 Javascript
JavaScript 上万关键字瞬间匹配实现代码
Jul 07 Javascript
纯Javascript实现Windows 8 Metro风格实现
Oct 15 Javascript
js常用系统函数用法实例分析
Jan 12 Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 Javascript
js判断文本框输入的内容是否为数字
Dec 23 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
MUI实现上拉加载和下拉刷新效果
Jun 30 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
Jan 17 Javascript
vue实现树形结构样式和功能的实例代码
Oct 15 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
May 14 #Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 #Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
May 14 #Javascript
详解jenkins自动化部署vue
May 14 #Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 #Javascript
JavaScript如何实现元素全排列实例代码
May 14 #Javascript
微信小程序实现多选框全选与取消全选功能示例
May 14 #Javascript
You might like
支持中文的php加密解密类代码
2011/11/27 PHP
php的sso单点登录实现方法
2015/01/08 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
javascript document.execCommand() 常用解析
2009/12/14 Javascript
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
centos系统升级python 2.7.3
2014/07/03 Python
python中将字典转换成其json字符串
2014/07/16 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
python如何设置静态变量
2020/09/07 Python
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
小学生运动会报道稿
2014/09/12 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
2014个人年度工作总结
2014/12/15 职场文书
经理助理岗位职责
2015/02/02 职场文书
年会主持人开场白台词
2015/05/29 职场文书