iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么用Vue+Element做个小页面
  • 503
分享到

怎么用Vue+Element做个小页面

2023-06-29 18:06:30 503人浏览 独家记忆
摘要

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

这篇文章主要介绍怎么用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                    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做个小页面”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 怎么用Vue+Element做个小页面

本文链接: https://www.lsjlt.com/news/326083.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 怎么用Vue+Element做个小页面
    这篇文章主要介绍怎么用Vue+Element做个小页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言效果项目结构这个的话可以看到分了一些组件嘛。然后总体还是vue+elementui 后面活下来了再用uniapp...
    99+
    2023-06-29
  • 如何利用Vue+Element做个小页面
    目录前言项目结构MarkDown编辑器消息模块消息导航内容代码(消息)设置模块总结前言 直接看效果,干啥慢慢猜~ 项目结构 这个的话可以看到分了一些组件嘛。然后总体还是vue+e...
    99+
    2024-04-02
  • 怎么使用Vue+Element做个人中心
    这篇文章主要讲解了“怎么使用Vue+Element做个人中心”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Vue+Element做个人中心”吧!先看看效果:后面加个路由超链接,嘿嘿~...
    99+
    2023-06-30
  • 如何使用Vue+Element做个个人中心
    目录前言个人空间信息修改基本信息实现信息修改实现头像修改实现账号管理实现文章列表实现收藏实现问答收藏文章收藏总结前言 最近想要换个脑子玩玩,写个页面玩玩~ 先看看效果: 后面加...
    99+
    2024-04-02
  • vue怎么调整页面大小
    最近,Vue开发者社区中出现了一个讨论:更新Vue画面调节功能如何实现?一些Vue开发者表示,在最近的版本中,该功能已经取消了,而另一些Vue开发者则尝试了一些解决方案。现在,我们来看一下这个话题的真正背景和解决方案。Vue是一种非常流行的...
    99+
    2023-05-14
  • Vue element ui用户展示页面的实例
    目录vue element ui用户展示页面vue中Element ui不生效总结vue element ui用户展示页面 页面展示 代码如下: <template> ...
    99+
    2023-05-20
    Vue element ui ui用户展示页面 Vue element ui用户展示页面
  • 用vue做的网页怎么打开
    本篇内容主要讲解“用vue做的网页怎么打开”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用vue做的网页怎么打开”吧!Vue是一款流行的JavaScript框架,用于构建现代的web应用程序。V...
    99+
    2023-07-06
  • vue写的页面怎么弄成小程序
    vue页面弄成小程序的方法:借助mpvue框架,安装小程序开发工具。用mpvue生成项目:# 全局安装 vue-cli$ npm install --global vue-cli# 创建一个基于 mpvue-quickstart 模板的新项...
    99+
    2024-04-02
  • html怎么在一个页面引用另一个页面
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-22
  • html二级页面怎么做
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-16
  • vue单页面怎么改造成多页面应用
    这篇文章主要介绍了vue单页面怎么改造成多页面应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue单页面怎么改造成多页面应用文章都会有所收获,下面我们一起来看看吧。基于此改造的目标单独业务逻辑单独一个页面可...
    99+
    2023-07-02
  • vue中怎么利用SPA实现一个单页面应用
    vue中怎么利用SPA实现一个单页面应用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、SPA的概述SPA(single page appl...
    99+
    2024-04-02
  • html移动端页面怎么做
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-16
  • 小程序js怎么返回上一个页面
    小程序中利用js返回上一个页面的方法使用navigateTo方法实现带参返回上一个页面;wx.navigateTo({url: '返回地址'})使用setData调用that.changeParentData()方...
    99+
    2024-04-02
  • vue-cli中怎么利用webpack 构建一个多页面应用
    vue-cli中怎么利用webpack 构建一个多页面应用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。关于vue.jsvue.js是一套...
    99+
    2024-04-02
  • vue怎么实现单页面应用
    本篇内容介绍了“vue怎么实现单页面应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一:npm的安装由于新版的node.js已经集成了np...
    99+
    2023-07-04
  • vue怎么使用router-view调用页面
    这篇文章主要介绍“vue怎么使用router-view调用页面”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么使用router-view调用页面”文章能帮助大家解决问题。使用router-v...
    99+
    2023-07-05
  • 怎么用Vue做个贪吃蛇游戏
    这篇文章主要介绍了怎么用Vue做个贪吃蛇游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Vue做个贪吃蛇游戏文章都会有所收获,下面我们一起来看看吧。Vue.js写一个命令行贪吃蛇游戏安装npm ...
    99+
    2023-07-04
  • 怎么在Vue中使用Element
    这篇文章将为大家详细讲解有关怎么在Vue中使用Element,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、开发所需的软件环境有别于之前的Asp.net的开发,纯前端的开发,一般不会再采用...
    99+
    2023-06-15
  • PHP怎么做301重定向页面
    在PHP中,可以使用header()函数来实现301重定向页面。以下是一个示例代码:```php```在上述代码中,首先使用head...
    99+
    2023-08-19
    PHP
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作