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 28 Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
Jquery日历插件制作简单日历
Oct 28 Javascript
Vue 进阶教程之v-model详解
May 06 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
浅谈Node.js爬虫之网页请求模块
Jan 11 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
Feb 04 Javascript
解析vue data不可以使用箭头函数问题
Jul 03 Javascript
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
js拖动滑块和点击水波纹效果实例代码
Oct 16 Javascript
JS查找孩子节点简单示例
Jul 25 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用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
php自动载入类用法实例分析
2016/06/24 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
2016/07/09 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
VBScript版代码高亮
2006/06/26 Javascript
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
jQuery示例收集
2010/11/05 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
python正则分组的应用
2013/11/10 Python
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
python 日志增量抓取实现方法
2018/04/28 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
美国Max仓库:Max Warehouse
2020/05/31 全球购物
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
编程输出如下图形
2013/11/24 面试题
倡议书格式模板
2014/05/13 职场文书
2014年党务工作总结
2014/11/25 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript