fastadmin中调用js的方法

 更新时间:2019年05月14日 11:51:46   作者:子钦加油  
这篇文章主要介绍了fastadmin中调用js的方法,在文中给大家补充介绍了Fastadmin里面的js运行原理,需要的朋友可以参考下

想要了解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中第三方库Apollo的使用详解

    JavaScript中第三方库Apollo的使用详解

    Apollo 是一个广泛使用的 JavaScript 第三方库,主要用于构建与 GraphQL API 交互的应用程序,下面就跟随小编一起来学习一下它的具体应用吧
    2024-02-02
  • Json Web Token在前后端实践思考分析

    Json Web Token在前后端实践思考分析

    这篇文章主要为大家介绍了Json Web Token在前后端实践思考分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • JS TypeScript的Map对象及联合类型实战

    JS TypeScript的Map对象及联合类型实战

    这篇文章主要介绍了JS TypeScript的Map对象及联合类型实战,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 一文详解如何检测并解决JS代码中的死循环

    一文详解如何检测并解决JS代码中的死循环

    这篇文章主要想和大家来一起探讨一下能否通过静态分析的方式检测出死循环,如果不能,我们又应该如何在不借用其他线程的情况下,解决死循环卡住问题,感兴趣的可以了解下
    2023-09-09
  • 详解javascript appendChild()的完整功能

    详解javascript appendChild()的完整功能

    这篇文章主要介绍了详解javascript appendChild()的完整功能,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键

    屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键

    js 防止刷新网页、禁止后退,右键等操作的代码
    2010-03-03
  • javascript GUID生成器实现代码

    javascript GUID生成器实现代码

    javascript GUID生成器实现代码, 需要的朋友可以参考下。
    2009-10-10
  • typescript路径别名问题详解与前世今生的故事

    typescript路径别名问题详解与前世今生的故事

    我们都知道只有正确引用路径,Typescript才不会提示报错,这篇文章主要给大家介绍了关于typescript路径别名问题详解与前世今生的故事,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • js的es6常用新特性详解

    js的es6常用新特性详解

    ES6(ECMAScript 6,也称为ES2015)是JavaScript的一个重要更新版本,引入了许多新的语言特性和改进,使得JavaScript变得更加现代化、易读、易维护和更适合大型应用程序的开发,ES6的主要变化归纳为:语法糖、新机制、更好的语义、更多的内置对象和方法
    2023-11-11
  • JavaScript中数组遍历的7种方法小结

    JavaScript中数组遍历的7种方法小结

    作为JavaScript开发人员,熟悉数组的遍历和操作是非常重要的,数组遍历是处理和操作数组元素的基本需求之一,本文将介绍JavaScript中的7种常见数组遍历方法,帮助你成为数组操作的达人
    2023-11-11

最新评论