国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > JS > 正文

fastadmin中調(diào)用js的方法

2024-05-06 16:50:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

想要了解fastadmin中的js是怎么調(diào)用的,就應(yīng)該先了解RequireJs。

RequireJs是模塊化工具,每一個(gè)我們自己的js文件或者庫(kù)都可以看成是一個(gè)模塊,按需引入。寫法如下:

<script data-main="js/main" src="js/require.js"></script>

src是引入requrejs框架文件,data-main是我們自己的js的總?cè)肟凇s/main對(duì)應(yīng)的js文件是js/main.js(可自行命名)

 我們?cè)趯戫?xiàng)目的時(shí)候肯定會(huì)用到一些js和js類庫(kù),那RequireJs是怎么引用的,下面來(lái)介紹一下,

引入第三方庫(kù):

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用來(lái)配置支持AMD規(guī)范的庫(kù)和js文件,shim是用來(lái)配不支持AMD規(guī)范的js。配好之后,假設(shè)現(xiàn)在要使用jquery和bootstrap,只要用require方法:

require(['jquery', 'bootstrap'], function ($, undefined) { //該function將在引入jquery和bootstrap完成之后執(zhí)行。});

 要使用我們自己定義的js,首先得用模塊化的方式編寫我們的js,使用define定義一個(gè)模塊:

define('modelname',['jquery','xxx'], function ($,xxx) { var hehe = {  function1: function () {  },  function2: function () {  },  function3: function () {  } }; return hehe;});

define有三個(gè)參數(shù),第一個(gè)是模塊名(可以不寫,默認(rèn)與模塊名與文件名同名),第二個(gè)是當(dāng)前模塊依賴的其他模塊,第三個(gè)是一個(gè)function,模塊體,要求必須return一個(gè)數(shù)據(jù)。

PS:下面看下Fastadmin里面的js運(yùn)行原理

以category.js為例來(lái),說(shuō)明一下fastadmin里面js綁定事件的運(yùn)行原理。

第一行,定義引用的組件

define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {add: function () {  Controller.api.bindevent();},

這個(gè)代碼,代表調(diào)用api對(duì)象的bindevent函數(shù)。函數(shù)定義如下:

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]"));}

函數(shù)第一部分是綁定類別變動(dòng)的事件。

第二部分是是綁定窗體時(shí)間。

綁定窗體的代碼在/public/assets/js/require-form.js文件里面。

這里面定義了Form對(duì)象,在這里我們可以看到events事件。

里面包含validator,主要是做客戶端驗(yàn)證。有了這個(gè)就等于自動(dòng)綁定了form驗(yàn)證,驗(yàn)證規(guī)則自己定制。

selectpicker 主要用于select下拉選擇。

此外還有selectpage、cxselect、citypicker、datetimepicker、plupload、faselect、fieldlist,此外可以自己定制。

總結(jié)

以上所述是小編給大家介紹的fastadmin中調(diào)用js的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江都市| 溧水县| 库尔勒市| 肇庆市| 左云县| 永州市| 彭阳县| 扬中市| 陆河县| 比如县| 克什克腾旗| 离岛区| 宜城市| 嘉黎县| 故城县| 平遥县| 阿鲁科尔沁旗| 北碚区| 富顺县| 永胜县| 佛学| 彩票| 安国市| 景东| 左贡县| 望江县| 延长县| 镇平县| 金湖县| 潞西市| 临安市| 凤翔县| 绥棱县| 大余县| 汨罗市| 宜君县| 锡林郭勒盟| 伊川县| 邯郸市| 康平县| 康平县|