我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Vue+Element做个小页面

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Vue+Element做个小页面

这篇文章主要介绍怎么用Vue+Element做个小页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

前言

效果

怎么用Vue+Element做个小页面

项目结构

怎么用Vue+Element做个小页面

这个的话可以看到分了一些组件嘛。然后总体还是vue+elementui 后面活下来了再用uniapp做移动端嘛。

MarkDown编辑器

这个是咱们比较主要的功能嘛。

也是用了meavon这个开源的Markdown组件嘛。

怎么用Vue+Element做个小页面

然后是文章上传嘛,这里有个弹窗嘛。

怎么用Vue+Element做个小页面

代码如下

<template>  <div id="main">    <div>      <div>        <input type="text" v-model="form.title" placeholder="请输入文章标题" required>        <el-button @click="submit" type="primary">发布文章</el-button>      </div>      <mavon-editor        v-model="form.value"        ref="md"        @change="change"              />    </div>    <el-dialog            title="文章提交"      :visible.sync="dialogFormVisible"    >      <el-form :model="ruleForm"               :rules="rules"               ref="ruleForm"               label-width="100px"               class="demo-ruleForm">        <el-form-item label="文章封面URL" >          <el-input v-model="ruleForm.url"></el-input>        </el-form-item>        <el-form-item label="选择社区" prop="community">          <el-select v-model="ruleForm.community" placeholder="请选择发布社区">            <el-option label="社区一" value="A"></el-option>            <el-option label="社区二" value="B"></el-option>          </el-select>        </el-form-item>        <el-form-item label="选择专栏" prop="community">          <el-select v-model="ruleForm.column" placeholder="请选择发布专栏">            <el-option label="java" value="java"></el-option>            <el-option label="python" value="python"></el-option>          </el-select>        </el-form-item>        <el-form-item label="选择权限" prop="level">          <el-select v-model="ruleForm.level" placeholder="请选择文章权限">            <el-option label="私密" value="0"></el-option>            <el-option label="公开阅览" value="1"></el-option>            <el-option label="公开读写权限" value="2"></el-option>            <el-option label="完全公开(所有人持有)" value="3"></el-option>          </el-select>        </el-form-item>        <el-form-item label="文章类型" prop="type">          <el-radio-group v-model="ruleForm.type">            <el-radio label="原创" value="0"></el-radio>            <el-radio label="转载" value="1"></el-radio>            <el-radio label="翻译" value="2"></el-radio>          </el-radio-group>        </el-form-item>        <el-form-item label="文章描述" prop="desc">          <el-input type="textarea" v-model="ruleForm.desc"></el-input>        </el-form-item>      </el-form>      <div   slot="footer" class="dialog-footer">        <el-button @click="dialogFormVisible = false">取 消</el-button>        <el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>      </div>    </el-dialog>  </div></template><script>import { mavonEditor } from 'mavon-editor'     //引入mavon-editor组件import 'mavon-editor/dist/css/index.css'       //引入组件的样式export default {  // 注册  name: "writeblog",  components: {    mavonEditor,  },  data() {    return {      dialogFormVisible: false,      form: {        value:'', // 输入的markdown        html:'',    // 及时转的html        ruleForm:this.ruleForm,        title: '',      },      ruleForm: {        url: '',        community:"",        column: '',        level:'',        desc: '',        type:'',      },      rules: {        desc: [          { required: true, message: '请输入文章描述', trigger: 'blur' },          { min: 1, max: 150, message: '长度在 1 到 150 个字符', trigger: 'blur' }        ],        community: [          { required: true, message: '请选择发布社区', trigger: 'blur' },        ],        level:[          { required: true, message: '请选择文章权限', trigger: 'blur' },        ],        type: [          { required: true, message: '请选择文章类型', trigger: 'change' }        ],      }    }  },  methods: {    // 所有操作都会被解析重新渲染    change(value, render){        //value为编辑器中的实际内容,即markdown的内容,render为被解析成的html的内容      this.form.html = render;    },    // 提交    submit(){      //点击提交后既可以获取html内容,又可以获得markdown的内容,之后存入到服务端就可以了      console.log(this.form.value);      console.log(this.form.html);      this.dialogFormVisible=true;    },    submitForm(formName) {      this.$refs[formName].validate((valid) => {        if (valid) {          if (this.form.title===""){            alert("标题不能为空")            return          }          alert('submit!');          this.dialogFormVisible = false;          console.log(this.ruleForm)        } else {          console.log('error submit!!');          return false;        }      });    },  },  mounted() {  }}</script><style scoped>#center {  margin-top: 5%;  width: 96%;  height: 96%;  border: 1px;}img {  margin: auto;  margin-left: 30%;  height: 40%;  width: 40%;  position: relative;  top: 10%;}input {  width: 85%;  height: 30px;  border-width: 2px;  border-radius: 5px;  border-color: #00c4ff;  border-bottom-color: #2C7EEA;  color: #586e75;  font-size: 15px;}</style>

这次的前端代码其实是完全重构,原来上个学期期末写的玩意咋说呢,还不如我以前直接用Django做的Dome。做着做着变成了个人博客,然后又重新改回多人社区,赶鸭子上架连文档都没有搞好,所有后面我直接摆烂了,本来寒假要动工的,但是学习任务拉满,唉。

消息模块

这个也是一个比较重要的模块,因为这个消息可以把几个模块联合起来。

怎么用Vue+Element做个小页面

先来说说那个标号

怎么用Vue+Element做个小页面

是咋来的,这个其实就是elementui里面的这个

怎么用Vue+Element做个小页面

然后是咱页面

怎么用Vue+Element做个小页面

后面的几个其实是类似的

怎么用Vue+Element做个小页面

这个你们直接看着写

消息导航

首先是咱的消息导航代码

<template><div>  <el-container >    <el-aside width="200px" >      <el-menu :default-openeds="['1']">        <el-submenu index="1">          <template slot="title">            <i class="el-icon-message"></i>问答消息</template>          <el-menu-item-group>            <router-link class="alink" to="/notices/aComment">              <el-menu-item index="1-1">                <el-badge :value="5" :max="99" class="item">                  评论消息                </el-badge>              </el-menu-item>            </router-link>            <router-link class="alink" to="/notices/thumbNews">              <el-menu-item index="1-2">                点赞消息              </el-menu-item>            </router-link>            <router-link to="/notices/replyMessage" class="alink">              <el-menu-item index="1-3">                回答消息              </el-menu-item>            </router-link>          </el-menu-item-group>        </el-submenu>        <el-submenu index="2">          <template slot="title"><i class="el-icon-message"></i>文章消息</template>          <el-menu-item-group>            <router-link to="/notices/articleComment" class="alink">              <el-menu-item index="2-1">                文章评论              </el-menu-item>            </router-link>            <router-link class="alink" to="/notices/thumbArticles">              <el-menu-item index="2-2">                文章点赞              </el-menu-item>            </router-link>            <router-link class="alink" to="/notices/articlePush">              <el-menu-item index="2-3">                文章push              </el-menu-item>            </router-link>          </el-menu-item-group>        </el-submenu>        <el-submenu index="3">          <template slot="title"><i class="el-icon-message-solid"></i>系统通知</template>          <el-menu-item-group>            <router-link class="alink" to="/notices/auditInformation">              <el-menu-item index="3-1">                审核消息              </el-menu-item>            </router-link>            <router-link class="alink" to="/notices/activeMessage">              <el-menu-item index="3-2">                活动消息              </el-menu-item>            </router-link>          </el-menu-item-group>        </el-submenu>        <el-submenu index="4">          <template slot="title"><i class="el-icon-s-custom"></i>好友</template>          <el-menu-item-group>            <router-link class="alink" to="/notices/friendVerification">              <el-menu-item index="4-1">                好友验证              </el-menu-item>            </router-link>            <router-link class="alink" to="/notices/friendsMessage">              <el-menu-item index="4-2">                好友消息              </el-menu-item>            </router-link>          </el-menu-item-group>        </el-submenu>        <el-submenu index="5">          <template slot="title"><i class="el-icon-setting"></i>设置</template>          <router-link class="alink" to="/notices/noticesettings">            <el-menu-item-group>              <el-menu-item index="5-1">消息设置</el-menu-item>            </el-menu-item-group>          </router-link>        </el-submenu>      </el-menu>    </el-aside>      <el-container        style="background-image: url(/static/logo/noticesbg.jpg);        background-repeat: no-repeat;        background-size:100% 100%;        "      >        <el-main>          <div >            <router-view></router-view>          </div>        </el-main>      </el-container>  </el-container></div></template><script>export default {  name: "notices",  data() {    return {    }  },}</script><style scoped>.el-header {  background-color: #e5efe2;  color: #333;  line-height: 60px;}.el-aside {  color: #333;}.router-link-active {  text-decoration: none;}.alink{  text-decoration: none;}</style>

内容代码(消息)

<template><div >  <br>  <div class="head" >    <el-button  type="primary" plain>清空所有</el-button>  </div>  <br>  <div  class="main">    <el-card shadow="hover" v-for="(message,index) in Messages" :key="index">      <div >        <div  >        <img                    class="lazy" data-src="/static/temporary/headpic.jpg"          class="image"        >        </div>        <div >          <p class="message">{{message.from}} 评论了你 &nbsp;&nbsp;<i class="el-icon-info"></i></p>          <p           >            {{message.info}}</p>          <p class="message">            来自问答:{{message.quiz}}          </p>        </div>        <div >          <p>            <el-button  icon="el-icon-delete" ></el-button>          </p>          <p>            {{message.data}}          </p>        </div>      </div>    <br>    </el-card>  </div>  <br>  <div class="footer" >    <div class="block" >      <el-pagination        background        layout="total, prev, pager, next, jumper"        :total=total>      </el-pagination>    </div>  </div></div></template><script>export default {  name: "aComment",  data(){    return{      total: 999,      Messages:[        {"info":"Huterox is best 并且非常地帅气","from":"Futerox","quiz":"小姐姐老是不回你信息怎么办","data":"2022-3-27"},        {"info":"Huterox is best 并且非常地帅气","from":"Futerox","quiz":"小姐姐老是不回你信息怎么办","data":"2022-3-27"},        {"info":"Huterox is best 并且非常地帅气","from":"Futerox","quiz":"小姐姐老是不回你信息怎么办","data":"2022-3-27"},        {"info":"Huterox is best 并且非常地帅气","from":"Futerox","quiz":"小姐姐老是不回你信息怎么办","data":"2022-3-27"},        {"info":"Huterox is best 并且非常地帅气","from":"Futerox","quiz":"小姐姐老是不回你信息怎么办","data":"2022-3-27"},      ]    }  },}</script><style scoped>.message{  width: 20em;  overflow: hidden;  text-overflow:ellipsis;  white-space: nowrap;}</style>

设置模块

这个不一样的是咱的设置模块

怎么用Vue+Element做个小页面

<template><div >  <el-card shadow="hover">    <div >      <p>          问答评论消息提醒      </p>    </div>      <div >        <p>          <el-switch            v-model="askcommentvalue"            active-text="开启"          >          </el-switch>        </p>      </div>  </el-card>  <el-card shadow="hover">    <div >      <p>        问答回答消息提醒      </p>    </div>    <div >      <p>        <el-switch          v-model="askanswervalue"          active-text="开启"        >        </el-switch>      </p>    </div>  </el-card>  <el-card shadow="hover">    <div >      <p>        文章评论消息提醒      </p>    </div>    <div >      <p>        <el-switch          v-model="articlecomment"          active-text="开启"        >        </el-switch>      </p>    </div>  </el-card>  <el-card shadow="hover">    <div >      <p>        文章点赞消息提醒      </p>    </div>    <div >      <p>        <el-switch          v-model="articlethumb"          active-text="开启"        >        </el-switch>      </p>    </div>  </el-card></div></template><script>export default {  name: "noticesettings",  data() {    return {      askcommentvalue: true,      askanswervalue: true,      articlecomment: true,      articlethumb: true,    }  },}</script><style scoped></style>

以上是“怎么用Vue+Element做个小页面”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Vue+Element做个小页面

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Vue+Element做个小页面

这篇文章主要介绍怎么用Vue+Element做个小页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言效果项目结构这个的话可以看到分了一些组件嘛。然后总体还是vue+elementui 后面活下来了再用uniapp
2023-06-29

怎么使用Vue+Element做个人中心

这篇文章主要讲解了“怎么使用Vue+Element做个人中心”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Vue+Element做个人中心”吧!先看看效果:后面加个路由超链接,嘿嘿~
2023-06-30

vue怎么调整页面大小

最近,Vue开发者社区中出现了一个讨论:更新Vue画面调节功能如何实现?一些Vue开发者表示,在最近的版本中,该功能已经取消了,而另一些Vue开发者则尝试了一些解决方案。现在,我们来看一下这个话题的真正背景和解决方案。Vue是一种非常流行的JavaScript框架,用于构建互联网应用程序。Vue中的画面调节功能(调整页面大小)是开发者日常工作中的一个相当重要的需求。但是,在某些
2023-05-14

用vue做的网页怎么打开

本篇内容主要讲解“用vue做的网页怎么打开”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用vue做的网页怎么打开”吧!Vue是一款流行的JavaScript框架,用于构建现代的web应用程序。V
2023-07-06

html怎么在一个页面引用另一个页面

html 中引用另一个页面有两种主要方法:iframe 用于嵌入独立框架(可指定 url),object 用于直接嵌入文档(具有更多加载控制)。选择方法取决于是否需要隔离性和加载控制,iframe 适用于需要独立性,object 适用于需要
html怎么在一个页面引用另一个页面
2024-05-22

vue单页面怎么改造成多页面应用

这篇文章主要介绍了vue单页面怎么改造成多页面应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue单页面怎么改造成多页面应用文章都会有所收获,下面我们一起来看看吧。基于此改造的目标单独业务逻辑单独一个页面可
2023-07-02

vue怎么实现单页面应用

本篇内容介绍了“vue怎么实现单页面应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一:npm的安装由于新版的node.js已经集成了np
2023-07-04

vue怎么使用router-view调用页面

这篇文章主要介绍“vue怎么使用router-view调用页面”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么使用router-view调用页面”文章能帮助大家解决问题。使用router-v
2023-07-05

怎么用Vue做个贪吃蛇游戏

这篇文章主要介绍了怎么用Vue做个贪吃蛇游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Vue做个贪吃蛇游戏文章都会有所收获,下面我们一起来看看吧。Vue.js写一个命令行贪吃蛇游戏安装npm inst
2023-07-04

怎么用android做一个登录界面

要使用Android创建一个登录界面,你需要以下步骤:1. 创建一个新的Android项目。在Android Studio中,选择“File” -> “New” -> “New Project”。2. 在“New Project”对话框中,
2023-09-14

vue适用多页面应用怎么实现

本文小编为大家详细介绍“vue适用多页面应用怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue适用多页面应用怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。vue适用多页面应用。vue在工程化开
2023-07-04

怎么用ps做个xhtml+css的网站首页

小编给大家分享一下怎么用ps做个xhtml+css的网站首页,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  开始吧:  1、打开photoshop cs2 ,打
2023-06-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录