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 相关文章推荐
JQuery 拾色器插件发布-jquery.icolor.js
Oct 20 Javascript
js 一个关于图片onload加载的事
Nov 10 Javascript
浅谈javascript 归并方法
Jan 21 Javascript
JQuery中DOM事件绑定用法详解
Jun 13 Javascript
JavaScript学习笔记整理之引用类型
Jan 22 Javascript
AngularJS中使用three.js的实例详解
Jul 21 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
Apr 17 Javascript
koa-router路由参数和前端路由的结合详解
May 19 Javascript
ES6数组与对象的解构赋值详解
Jun 14 Javascript
javascript实现滚动条效果
Mar 24 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
Jul 11 Javascript
js+css3实现炫酷时钟
Aug 18 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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
PHP - Html Transfer Code
2006/10/09 PHP
elgg 获取文件图标地址的方法
2010/03/20 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
php实现的RSS生成类实例
2015/04/23 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
js 调整select 位置的函数
2008/02/21 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
python实现感知器算法详解
2017/12/19 Python
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
酒店副总岗位职责
2013/12/24 职场文书
英语演讲稿范文
2014/01/03 职场文书
文明礼仪小标兵事迹
2014/01/12 职场文书
社区居务公开实施方案
2014/03/27 职场文书
转让协议书范本
2014/04/15 职场文书
喋血孤城观后感
2015/06/08 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
导游词之桂林
2019/08/20 职场文书
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS