[TOC]
在实际开发中,我们不同的页面可能会需要引入不同的JS或CSS文件,系统有自己的一套引入规则,只需在控制器中assign操作即可,无需手动在html中写引入的html代码。
# 引入css文件
在控制器中,通过`assign属性`的`addCss`引入css文件
~~~
//引入一个css文件
$this->assign->addCss('xxx')
// 如果是数组,可同时引入多个指定css文件
$this->assign->addCss([
'/layui/css/layui',
'/woo/css/admin/global',
'animate',
'/woo/css/woo',
]);
~~~
说明:
1、所有的静态文件都应该在`项目/public/static`下,所以只需定义static以后的路径即可
2、css文件默认放置到`项目/public/static/css`目录中,所以`animate`定义的css文件其实找的是`项目/public/static/css/animate.css`
3、如果没有在css目录下的文件,就必须以`/`开头直接定义static以后的全部路径
4、`.css`后缀名可写可不写,如果没有后缀自动补齐
5、css文件都引入到head标签中
# 引入JS文件
在控制器中,通过`assign属性`的`addJS`引入css文件
~~~
//引入一个JS文件
$this->assign->addJs('jquery-3.4.1.min');
// 如果是数组,可同时引入多个指定JS文件
$this->assign->addJs([
'jquery-3.4.1.min',
]);
$this->assign->addJs([
'/layui/layui',
'/woo/woo',
'/files/sortable/Sortable.min.js',
'/woo/js/admin',
'admin/common'
], true);
~~~
说明:
1、所有的静态文件都应该在`项目/public/static`下,所以只需定义static以后的路径即可
2、js文件默认放置到`项目/public/static/js`目录中,所以`'jquery-3.4.1.min`定义的js文件其实找的是`项目/public/static/js/jquery-3.4.1.min.js`
3、如果没有在js目录下的文件,就必须以`/`开头直接定义static以后的全部路径
4、`.js`后缀名可写可不写,如果没有后缀自动补齐
5、JS文件默认在head中引入,如果需要在body结尾引入,第二个参数设置为true。
# 传递值到JS中
我们知道控制中通过assign传递数据到模板中,模板中的直接写JS代码是可以使用这些变量值得。但是独立的JS文件中不可以使用assign的值(独立JS文件没有经过模板引擎,所以不会被编译)。系统也给大家准备了一种方案,方便你在独立JS文件中动态的获取控制器中处理的值。
控制器中,可以通过assign的`setScriptData`传递到JS中:
~~~
$this->assign->setScriptData('变量名', '值');
~~~
然后在模板中,暴露了一个全局的js变量`woo_script_vars`,你可以查看网页源代码或者直接JS代码中直接`console.log(woo_script_vars)`打印数据看下,里面的数据有限可能是你会用上的。
这样,你可以再任意js代码中,包括独立JS文件中都可以通过`woo_script_vars.变量名` 获取到控制器动态传递的js值。
# JS中默认的变量
默认情况下`woo_script_vars`暴露的值大概有这些:
~~~
{
absroot: "http://www.wooadmin.com/", // 当前绝对根地址
wwwroot: "/", // 当前相对根地址
approot: "/cms", // 当前应用相对根地址
cms_setting: {}, // 站点配置 需要js中使用的配置项
params: {}, // 当前请求相关参数 里面包含了当前应用、控制器、方法名、参数等
setting: {}, // 系统配置 需要js中使用的配置项
upload_domains: {} // 你上传文件的主域名
}
~~~
这些JS变量都可以通过`woo_script_vars.属性名`直接获取。
- 2.0开发手册
- 基础
- 简介
- 安装
- 目录
- 规范(必看)
- 快速开发
- 创建模型
- 字段管理
- 无限级开发
- 模型Model
- 定义
- 方法
- 事件
- 关联
- 关联查询
- 验证
- 后台控制器Controller
- 定义
- 列表【index】
- 新增【create】
- 修改【modify】
- 删除【delete】
- 详细【detail】
- 文本审核【antispam】
- 清空数据【clearData】
- 自定义页面
- 视图View
- 视图使用
- 引入CSS和JS
- 基础表单构建Form
- 布局表单构建FormPage
- 表单构建器的基础使用
- 表单项
- 表单分组
- 表单触发器
- 表单布局
- 数据提交验证和入库
- 集成tinymce编辑器
- 集成nkeditor编辑器
- 表格构建Table
- 表格构建器基础使用
- 表格构建器列表字段相关
- 自定义列表头部工具按钮
- 自定义列表项工具按钮
- 自定义搜索
- 定义列表侧边栏
- 静态数据
- 更多属性和回调
- 自定义模板V2.1.0
- 列表统计输出V2.1.2
- 常见问题
- 自定义应用
- 创建新应用
- 应用开发
- API应用
- 自定义插件
- 创建新插件
- 杂项
- 认证Auth
- 权限管理
- 上传Upload
- 批量导入
- 助手库
- 系统配置
- 字典
- 二维码生成
- 源码修改
- 常见问题
- 小技巧,小细节
- 插件
- oauth
- APP一键登录
- 微信小程序登录
- 2.0CMS建站
- 基础
- 安装
- 建站
- Callback
- 引入CSS和JS
- 模板
- 栏目数据
- 列表页数据
- 详细页数据
- 栏目封面
- 自定义表单
- 其他数据和自定义数据
- wap视图层
- 前台搜索
- API开发
- CMS应用日志
- CMS升级指导
- 中台-SAAS开发
- 安装
- 中台日志
- 中台升级指导
- ★★2.0视频教程★★
- 附录
- Admin核心更新日志
- Admin核心升级指导
- composer
- 安全