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 小数取整的函数
May 10 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
Jun 26 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
js实现延时加载Flash的方法
Nov 26 Javascript
jquery分隔Url的param方法(推荐)
May 25 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
Jan 03 Javascript
js上传图片预览的实现方法
May 09 Javascript
JavaScript中如何判断一个值的类型
Sep 15 Javascript
基于vue.js无缝滚动效果
Jan 25 Javascript
JS简单获取并修改input文本框内容的方法示例
Apr 08 Javascript
Node.js Express安装与使用教程
May 11 Javascript
vue实现数字动态翻牌的效果(开箱即用)
Dec 08 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 缓存实现代码及详细注释
2010/05/16 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
2014/11/22 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
简单常用的幻灯片播放实现代码
2013/09/25 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
2017/01/21 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
Python3.x对JSON的一些操作示例
2017/09/01 Python
机器学习python实战之决策树
2017/11/01 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
python实现门限回归方式
2020/02/29 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
北京大学自荐信范文
2014/01/28 职场文书
餐厅总厨求职信
2014/03/04 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
自查自纠整改报告
2014/11/06 职场文书
2015年建筑工程工作总结
2015/05/13 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
观后感格式
2015/06/19 职场文书
员工升职自我评价
2019/03/26 职场文书
Python实现简繁体转换
2021/06/07 Python
教你一步步实现一个简易promise
2021/11/02 Javascript
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server