php表格控制器,了解fastadmin标准的控制器模块js的表格事件

本文详细介绍了Fastadmin框架中PHP表格控制器的使用方法,包括控制器模块的JS事件、表格初始化配置、表格操作和事件绑定。讲解了如何在JS中定义Controller对象,并与PHP控制器方法对应,以及如何处理表格的添加、编辑、删除等操作。同时,文章还涵盖了Table.api的各种方法,如formatter和事件,以及Fastadmin中表单组件的使用和初始化。
摘要由CSDN通过智能技术生成

controller/A.phppublic/assets/js/backend/a.js

controller/b/A.phppublic/assets/js/backend/b/a.js

标准的控制器模块js

define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {

var Controller = {

index: function () {

// 初始化表格参数配置

Table.api.init({

extend: {

index_url: 'category/index',

add_url: 'category/add',

edit_url: 'category/edit',

del_url: 'category/del',

multi_url: 'category/multi',

dragsort_url: '',

table: 'category',

}

});

var table = $("#table");

// 初始化表格

table.bootstrapTable({

url: $.fn.bootstrapTable.defaults.extend.index_url,

escape: false,

pk: 'id',

sortName: 'weigh',

pagination: false,

commonSearch: false,

columns: [

[

{checkbox: true},

{field: 'id', title: __('Id')},

{field: 'type', title: __('Type')},

{field: 'name', title: __('Name'), align: 'left'},

{field: 'nickname', title: __('Nickname')},

{field: 'flag', title: __('Flag'), operate: false, formatter: Table.api.formatter.flag},

{field: 'image', title: __('Image'), operate: false, formatter: Table.api.formatter.image},

{field: 'weigh', title: __('Weigh')},

{field: 'status', title: __('Status'), operate: false, formatter: Table.api.formatter.status},

{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}

]

]

});

// 为表格绑定事件

Table.api.bindevent(table);

},

add: function () {

Controller.api.bindevent();

},

edit: function () {

Controller.api.bindevent();

},

api: {

bindevent: function () {

Form.api.bindevent($("form[role=form]"));

}

}

};

return Controller;

});

每一个控制器请求的方法对应JS模块中一个方法

js中有定义一个Controller 对象,它有index/add/edit/api四个方法,这四个方法分别与我们控制器中的方法一一对应

如果我们在js中添加了自己的方法,如detail方法,则对应添加Controller下的对应控制器文件下的detail方法

在public/assets/js/backend/a.js用define()定义了a模块

加载用require(['a'], function (a){...}

我们在require配置文件/assets/js/require-backend.js中找到

//加载相应模块

if (Config.jsname) {

require([Config.jsname], function (Controller) {

Controller[Config.actionname] != undefined && Controller[Config.actionname]();

}, function (e) {

console.error(e);

// 这里可捕获模块加载的错误

});

}

参数Config.jsname即为自定义的模块名(js文件),格式为:backend/a ;

Config.actionname为你在js模块定义的一个Controller对象的属性,属性有index/add/edit/api四个方法(对象),这四个方法分别与我们控制器中的方法一一对应

分别执行了模块js的idnex、add、edit、api这四个对象属性

Controller.index:

index调用的是Table.api.bindevent(table); 即调用的是require-table.js里的Table对象

上面这个table有什么对象呀,事件有哪些呢

Table.list //已经渲染的表格对象

Table.defaults Bootstrap-table表格默认列的配置

Table.columnDefaults bootstraptable column的默认参数

Table.config 表格相关DOM元素类配置 如定义的button等选择器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值