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 相关文章推荐
CSS+Jquery实现页面圆角框方法大全
Dec 24 Javascript
jQuery表单验证插件formValidator(改进版)
Feb 03 Javascript
jQuery Ajax请求状态管理器打包
May 03 Javascript
jquery删除提示框弹出是否删除对话框
Jan 07 Javascript
使用jQuery时Form表单元素ID和name命名大忌
Mar 06 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
Sep 06 Javascript
微信小程序 使用canvas制作K线实例详解
Jan 12 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
Vue.js实现价格计算器功能
Mar 30 Javascript
Vue 3.x+axios跨域方案的踩坑指南
Jul 04 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
Jan 21 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
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
js获取form的方法
2015/05/06 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
canvas实现俄罗斯方块的方法示例
2018/12/13 HTML / CSS
文化宣传方案
2014/03/13 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
放假通知
2015/04/14 职场文书
小学数学教师研修日志
2015/11/13 职场文书