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 相关文章推荐
js中的window.open返回object的错误的解决方法
Aug 15 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
Dec 11 Javascript
JavaScript中的立即执行函数表达式介绍
Mar 15 Javascript
Bootstrap精简教程
Nov 27 Javascript
分享15个大家都熟知的jquery小技巧
Dec 02 Javascript
JavaScript中的时间处理小结
Feb 24 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
Apr 13 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 Javascript
基于JQuery的Ajax方法使用详解
Aug 16 jQuery
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
深入浅析Vue.js 中的 v-for 列表渲染指令
Nov 19 Javascript
JavaScript刷新页面的几种方法总结
Mar 28 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字符串函数学习之substr()
2015/03/27 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
JS实现小星星特效
2019/12/24 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
Python实现的多线程http压力测试代码
2017/02/08 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
对python中Json与object转化的方法详解
2018/12/31 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
大学生全国两会报告感想
2014/03/17 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
商业用房租赁协议书
2014/10/13 职场文书
面试通知邮件
2015/04/20 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
Django显示可视化图表的实践
2021/05/10 Python
sql字段解析器的实现示例
2021/06/23 SQL Server
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
python中urllib包的网络请求教程
2022/04/19 Python