您好,登錄后才能下訂單哦!
怎么在fastadmin中對JavaScript進行調用?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
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中對JavaScript進行調用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。