浅入深出Vue:文章编辑
登录与注册功能都已经实现,现在是时候来开发文章编辑功能了。
这里咱们就使用 markdown
作为编辑语言吧,简洁通用。那么我们就需要找一下 markdown
的编辑器组件了,而且还要支持 vue
噢。
若羽这里找到的一个是 mavonEditor
,在 github 上有2k+ 的 star。文档也都是中文的,比较友好。
mavonEditor地址
添加组件 && 新建编辑组件
首先来安装一下编辑器:
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实现,那多累,还不一定能保证完善。部分第三方组件无法满足的功能就可以考虑自己来实现了。
转载于:https://www.cnblogs.com/By-ruoyu/p/11197259.html
浅入深出Vue:文章编辑相关推荐
- 浅入深出Vue:环境搭建
浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...
- 浅入深出Vue:发布项目
项目完成之后,当然不能满足于在我们的开发环境下跑一跑.我们可以打包发布到服务器上,让大家一起来欣赏一下你的作品. 那么 vue 项目如何打包发布呢,新建的项目目录下通常都有一个 README.md 的 ...
- 浅入深出Vue:子组件与数据传递
上一篇了解了组件的概念及在使用中需要注意的地方.在面对单个组件逻辑复杂需要拆分时,难免会遇到父子组件之间数据传递的问题.那么我们来了解一下在父子组件之间进行数据传递时需要遵循哪些约定,以及要注意哪些问 ...
- 浅入深出Vue:注册
基本布局已经有了, 现在我们来开始做我们的注册页面~ 当然需要注册才能发表文章啊(糟老头子坏得很, 我可以只有我一个人能发啊). 这里我们设定只有注册才能发表文章,也就淡化了管理员这个概念.在开发中先 ...
- 浅入深出Vue:事件处理
上一篇的最后留下了一个 v-on的思考,也就是本章的主题:事件处理 为什么需要事件处理 在前端开发中,经常要面对各种表单.按钮.而这里面就住着一个事件:点击 (click). 前端童鞋们肯定不陌生它, ...
- 浅入深出之Java集合框架(上)
Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到浅入深出之Java集合框架(下). ...
- 浅入深出之Java集合框架(中)
Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到浅入深出之Java集合框架(下). ...
- 处理中文乱码_浅入深出:一次提问引发的深思,从此再也不怕“乱码”问题
这是恋习Python之浅入深出系列第3篇原创首发文章 作者|丁彦军 来源|恋习Python(ID:sldata2017) 转载请联系授权(微信ID:2394608316) 近日,有位粉丝向我请教,在爬 ...
- Java 注解 (Annotation)浅入深出
Java 注解 (Annotation)浅入深出 本文主要参考与借鉴frank909 文章,但更为简单,详细. Annotation 中文译过来就是注解.标释的意思.Annotation是一种应用于类 ...
最新文章
- 突破屏蔽限制,自己的网站使劲弹新IE窗口
- 《CUDA高性能并行计算》----2.2 需要知道的CUDA API和C语言拓展
- mysql with
- css 删除线_寻创意|线描画:树
- 个人作业week7——前端开发感想总结
- java 反射 接口_Java 怎么通过反射获取并实现这个类里面的接口,并且实现接口中的方法...
- mysql集群系统_轻松构建Mysql高可用集群系统
- 软件需求,概要设计,详细设计(文档)
- [转自天涯]ISO27001与ISO20000的关系心得
- rockchip的调试手段
- 类型 异常报告 消息 null 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 java.lang.NumberFormatException: null java.base/
- 【vscode】vscode常用插件介绍
- HTML5自动换行的间距设置,设置EXCEL自动换行的行与行之间的间距的办法
- l7sa008b故障代码_华硕主板故障维代码指南
- 如何使用 开源硬件Banana PI BPI-R2‘s GPIO-s
- android+tv+社区,Android TV Overscan
- 51Nod-TalkingData数据科学精英夏令营挑战赛-B-丢手绢
- 期货的操作方法(期货的操作方法包括)
- 中东地区的最大节日,卧兔网络带你看斋月营销套路
- python飞船项目