提交
This commit is contained in:
parent
4e057065f8
commit
ccb08b1004
@ -867,6 +867,369 @@ export default {
|
||||
</style>
|
||||
```
|
||||
|
||||
# Pug.js
|
||||
|
||||
Pug(之前称为Jade)是一种简洁而灵活的模板引擎,用于构建HTML。Pug使用缩进和标记替代了常见的HTML标记,这使得它更易于阅读和编写。它也提供了一些功能,如变量、循环和条件语句等,可以帮助开发人员更轻松地构建动态的网页。
|
||||
|
||||
## 特性
|
||||
|
||||
### 属性
|
||||
|
||||
如果一个标签有多个属性,可使用 分行 或 逗号
|
||||
|
||||
```less
|
||||
// 1
|
||||
el-button(v-if="ifShow" type="size" size="small" @click="doClidk") 点击
|
||||
// 2
|
||||
el-button(v-if="ifShow",type="size",size="small",@click="doClidk") 点击
|
||||
// 3
|
||||
el-button(v-if="ifShow"
|
||||
type="size"
|
||||
size="small"
|
||||
@click="doClick") 点击
|
||||
```
|
||||
|
||||
### 注释
|
||||
|
||||
- 单行
|
||||
|
||||
```xml
|
||||
// 一些内容
|
||||
p foo
|
||||
p bar
|
||||
|
||||
<!-- 一些内容 -->
|
||||
<p>foo</p>
|
||||
<p>bar</p>
|
||||
```
|
||||
|
||||
- 不输出注释
|
||||
|
||||
```less
|
||||
//- 这行不会出现在结果中
|
||||
p foo
|
||||
p bar
|
||||
|
||||
<p>foo</p>
|
||||
<p>bar</p>
|
||||
```
|
||||
|
||||
- 块注释
|
||||
|
||||
```xml
|
||||
body
|
||||
//
|
||||
一堆
|
||||
文字
|
||||
进行中
|
||||
|
||||
<body>
|
||||
<!-- 一堆
|
||||
文字
|
||||
进行中 -->
|
||||
</body>
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Vue 2集成Pug.js
|
||||
|
||||
Vue CLI安装Pug.js
|
||||
|
||||
```shell
|
||||
npm i -D pug pug-html-loader pug-plain-loader
|
||||
```
|
||||
|
||||
vue.config.js配置
|
||||
|
||||
```javascript
|
||||
// vue.config.js
|
||||
module.exports = {
|
||||
chainWebpack: config => {
|
||||
config.module.rule('pug')
|
||||
.test(/\.pug$/)
|
||||
.use('pug-html-loader')
|
||||
.loader('pug-html-loader')
|
||||
.end()
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
使用前
|
||||
|
||||
```vue
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- 搜索栏 -->
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||
<el-form-item label="昵称">
|
||||
<el-input
|
||||
v-model="queryParams.nickName"
|
||||
placeholder="请输入用户昵称"
|
||||
clearable
|
||||
style="..."
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
placeholder="请选择状态"
|
||||
clearable
|
||||
style="..."
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.sys_normal_disable"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<!-- 工具栏按钮 -->
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!-- 表格 -->
|
||||
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column prop="userId" v-if="false"></el-table-column>
|
||||
<el-table-column label="用户昵称" align="center" prop="nickName" />
|
||||
<el-table-column label="用户头像" align="center" prop="pic" />
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="注册时间" align="center" prop="userRegtime"></el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:dict:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:dict:remove']"
|
||||
>删除</el-button>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="用户头像" prop="pic">
|
||||
<!-- <el-input v-model="form.pic" placeholder="请输入" /> -->
|
||||
</el-form-item>
|
||||
<el-form-item label="用户昵称" prop="nickName">
|
||||
<el-input v-model="form.nickName" placeholder="请输入用户昵称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" size="mini" prop="status">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.sys_normal_disable"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{ dict.label }}</el-radio>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
```
|
||||
|
||||
|
||||
|
||||
使用后
|
||||
|
||||
```less
|
||||
<template lang="pug">
|
||||
.app-container
|
||||
// 搜索栏
|
||||
el-form(:model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch")
|
||||
el-form-item(label="昵称")
|
||||
el-input(
|
||||
v-model="queryParams.nickName"
|
||||
placeholder="请输入用户昵称"
|
||||
clearable
|
||||
style="..."
|
||||
@keyup.enter.native="handleQuery"
|
||||
)
|
||||
el-form-item(label="状态" prop="status")
|
||||
el-select(
|
||||
v-model="queryParams.status"
|
||||
placeholder="请选择状态"
|
||||
clearable
|
||||
style="..."
|
||||
)
|
||||
el-option(
|
||||
v-for="dict in dict.type.sys_normal_disable"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
)
|
||||
el-form-item
|
||||
el-button(type="primary" icon="el-icon-search" size="mini" @click="handleQuery") 搜索
|
||||
el-button(icon="el-icon-refresh" size="mini" @click="resetQuery") 重置
|
||||
|
||||
// 工具栏按钮
|
||||
el-row.mb8(:gutter="10")
|
||||
el-col(:span="1.5")
|
||||
el-button(
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
) 新增
|
||||
el-col(:span="1.5")
|
||||
el-button(
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
) 修改
|
||||
el-col(:span="1.5")
|
||||
el-button(
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
) 删除
|
||||
el-col(:span="1.5")
|
||||
el-button(
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
) 导出
|
||||
|
||||
// 表格
|
||||
el-table(v-loading="loading" :data="list" @selection-change="handleSelectionChange")
|
||||
el-table-column(type="selection" width="55" align="center")
|
||||
el-table-column(prop="userId" v-if="false")
|
||||
el-table-column(label="用户昵称" align="center" prop="nickName")
|
||||
el-table-column(label="用户头像" align="center" prop="pic")
|
||||
el-table-column(label="状态" align="center" prop="status")
|
||||
template(slot-scope="scope")
|
||||
dict-tag(:options="dict.type.sys_normal_disable" :value="scope.row.status")
|
||||
el-table-column(label="注册时间" align="center" prop="userRegtime")
|
||||
el-table-column(label="操作" align="center" class-name="small-padding fixed-width")
|
||||
el-button(
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:dict:edit']"
|
||||
) 修改
|
||||
el-button(
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:dict:remove']"
|
||||
) 删除
|
||||
|
||||
pagination(
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
)
|
||||
|
||||
el-dialog(
|
||||
:title="title"
|
||||
:visible.sync="open"
|
||||
width="500px"
|
||||
append-to-body
|
||||
)
|
||||
el-form(
|
||||
ref="form"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="80px"
|
||||
)
|
||||
el-form-item(label="用户头像" prop="pic")
|
||||
// el-input(v-model="form.pic" placeholder="请输入")
|
||||
el-form-item(label="用户昵称" prop="nickName")
|
||||
el-input(v-model="form.nickName" placeholder="请输入用户昵称")
|
||||
el-form-item(label="状态" size="mini" prop="status")
|
||||
el-radio(
|
||||
v-for="dict in dict.type.sys_normal_disable"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
) {{ dict.label }}
|
||||
.dialog-footer(slot="footer")
|
||||
el-button(type="primary" @click="submitForm") 确 定
|
||||
el-button(@click="cancel") 取 消
|
||||
</template>
|
||||
```
|
||||
|
||||
|
||||
|
||||
# Vben Admin
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user