浅入深出Vue:文章编辑
登录与注册功能都已经实现,现在是时候来开发文章编辑功能了。
这里咱们就使用 markdown 作为编辑语言吧,简洁通用。那么我们就需要找一下 markdown 的编辑器组件了,而且还要支持 vue噢。
若羽这里找到的一个是 mavonEditor,在 github 上有2k+ 的 star。文档也都是中文的,比较友好。
添加组件 && 新建编辑组件
首先来安装一下编辑器:
npm install mavon-editor --save
然后在 main.js 中引入组件:
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import mavonEditor from 'mavon-editor'
import 'mavon-editor/dist/css/index.css'
Vue.config.productionTip = false
Vue.use(ElementUI)
Vue.use(mavonEditor)
new Vue({
router,
render: h => h(App)
}).$mount('#app')
接下来新建我们的编辑组件了,Edit.vue:
<template>
<div></div>
</template>
<script>
export default {
name: "Edit"
}
</script>
<style scoped>
</style>
然后为它添加路由对象:
{
path: '/edit',
name: 'edit',
component: () => import('./views/Edit.vue')
}
编写视图代码
首先一篇文章有哪些要素:
- 标题
- 内容
最基本是需要这两个要素的。
data 中定义这两个要素:
data() {
return {
model: {
title: '',
content: '',
}
}
}
在布局上我们依旧延续之前的简约风,使用 ElementUI 进行布局。但这里我们不居中了,直接填满全屏就好。
代码:
<template>
<div>
<el-row>
<el-form>
<el-form-item label="文章标题">
<el-col :span="6">
<el-input v-model="model.title"></el-input>
</el-col>
</el-form-item>
<el-form-item>
<el-col>
<mavon-editor v-model="model.content"></mavon-editor>
</el-col>
</el-form-item>
<el-form-item>
<el-col>
<el-button type="primary" size="small" @click="submit">发表</el-button>
</el-col>
</el-form-item>
</el-form>
</el-row>
</div>
</template>
<script>
import axios from 'axios'
export default {
name: "Edit",
data() {
return {
model: {
title: '',
content: '',
}
}
},
methods: {
submit() {
axios.post('https://451ece6c-f618-436b-b4a2-517c6b2da400.mock.pstmn.io/publish', this.model)
.then(res => {
if(res.data.Code === 200) {
this.$message.success('发布成功');
}
})
}
}
}
</script>
效果如下:


写在后面
这个页面也还确实了一部分功能,在发布完成后,应该是要跳转到文章列表的页面去查看所有的文章。
因为列表页面还没有做,所以这里暂时先挖个坑放着~
本篇博文使用了第三方组件,也是在演示如何使用第三方组件来为自己提高开发效率,毕竟不可能所有的东西都自己来从0实现,那多累,还不一定能保证完善。部分第三方组件无法满足的功能就可以考虑自己来实现了。
浅入深出Vue:文章编辑的更多相关文章
- 浅入深出Vue:前言
浅入深出Vue系列文章 之前大部分是在做后端,后来出于某些原因开始接触Vue.深感前端变化之大,各种工具.框架令人眼花缭乱.不过正是这些变化,让前端开发更灵活. 博主在刚开始时,参考官网的各个步骤以及 ...
- 浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置
浅入深出Vue之工具准备(二):PostMan安装配置 由于家中有事,文章没顾得上.在此说声抱歉,这是工具准备的最后一章. 接下来就是开始环境搭建了~尽情期待 工欲善其事必先利其器,让我们先做好准备工 ...
- 浅入深出Vue:环境搭建
浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...
- 浅入深出Vue:工具准备之WebStorm安装配置
浅入深出Vue之工具准备(一):WebStorm安装配置 工欲善其事必先利其器,让我们先做好准备工作吧 导航篇 WebStorm安装配置 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版 ...
- 浅入深出Vue系列
浅入深出Vue导航 导航帖,直接点击标题即可. 文中所有涉及到的资源链接均在最下方列举出来了. 前言 基础篇 浅入深出Vue:工具准备之WebStorm搭建及配置 浅入深出Vue之工具准备(二):Po ...
- 浅入深出Vue:文章列表
终于到我们小项目的最后一个功能了,那就是列表页展示! 新建组件 先来新建组件 List.vue: <template> <div></div> </templ ...
- 浅入深出Vue:代码整洁之封装
深入浅出vue系列文章已经更新过半了,在入门篇中我们实践了一个小小的项目. <代码整洁之道>一书中提到过一句话: 神在细节中 这句话来自20世纪中期注明现代建筑大师 路德维希·密斯·范·德 ...
- 浅入深出Vue:第一个页面
今天正式开始入门篇,也就是实战了~ 首先我们是要做一个博客网站,UI 框架采用江湖传闻中的 ElementUI,今天我们就来利用它确定我们博客网站的基本布局吧. 准备工作 新建一个vue项目(可以参考 ...
- 浅入深出Vue:自动化路由
在软件开发的过程中,"自动化"这个词出现的频率是比较高的.自动化测试,自动化数据映射以及各式的代码生成器.这些词语的背后,也说明了在软件开发的过程中,对于那些重复.千篇一律的事情. ...
随机推荐
- nginx负载均衡高可用部署和代理配置
nginx负载均衡高可用配置 服务器A:172.16.100.2 服务器B:172.16.100.3 首先先在两台服务器上分别安装好nginx和keepalived后,再进行下面的操作 配置keepa ...
- SQL介绍、语句之增删改查大全
数据库概念 文件作为数据库,数据格式千差万别 将保存数据的地方统一起来 MySQL一款应用软件 用来帮你操作文件的 只要是基于网络通信,底层都是socket!!! 服务端 -socket通信 -收发消 ...
- 支付宝网站即时支付开发,MD5加签名规则处理代码展示
一.如果传入进来的Object对象,最后生成制定格式的字符换 text: list拼接成字符串,map中的所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,list的元素之间用“| ...
- gRPC 本地服务搭建
RPC RPC 原理 主流 RPC 框架 gRPC 概述 特点 服务端创建 定义服务 生成 gRPC 代码 服务端实现 客户端实现 踩坑记录 源码 RPC RPC 原理 RPC 框架的目标就是让远程服 ...
- Golang 无法下载依赖 golang.org (GoLand解决方法)
如下图所示将Proxy设置为:https://goproxy.io/
- PAT A1019 General Palindromic Number (20 分)
AC代码 #include <cstdio> const int max_n = 1000; long long ans[max_n]; int num = 0; void change( ...
- vue技术分享之你可能不知道的7个秘密
本文是vue源码贡献值Chris Fritz在公共场合的一场分享,觉得分享里面有不少东西值得借鉴,虽然有些内容我在工作中也是这么做的,还是把大神的ppt在这里翻译一下,希望给朋友带来一些帮助. 一.善 ...
- k8s之configmap和secret
1.configmap configmap和secret是两种特殊的存储卷,它们不是给pod提供存储空间用的,而是给管理员或者用户提供了从外部向pod内部注入信息的方式. configmap:把配置文 ...
- Java 线程控制
一.线程控制 和线程相关的操作都定义在Thread类中,但在运行时可以获得线程执行环境的信息.比如查看可用的处理器数目(这也行?): public class RunTimeTest { public ...
- [转载]Pytorch中nn.Linear module的理解
[转载]Pytorch中nn.Linear module的理解 本文转载并援引全文纯粹是为了构建和分类自己的知识,方便自己未来的查找,没啥其他意思. 这个模块要实现的公式是:y=xAT+*b 来源:h ...