web前端开发之vue.js: 使用vue-cli脚手架实战小项目

举报
运气男孩 发表于 2020/09/16 23:20:14 2020/09/16
【摘要】 实现一个脚手架(vue-cli)创建的一个简单 to do list 实例。简单实现输入框获取待办事项,并显示在下方list可以单击事项添加删除线 意味已办端口设置为6060环境我用的Windows系统node.js v12.18.3npm 6.14.6vue.js这些还没配置好的可以去classroom里的web前端第三阶段学习或者看我之前发布的博客内容效果项目目录src/A...

实现一个脚手架(vue-cli)创建的一个简单 to do list 实例。


简单实现

输入框获取待办事项,并显示在下方list

可以单击事项添加删除线 意味已办

端口设置为6060

环境

我用的Windows系统

node.js   v12.18.3

npm      6.14.6

vue.js

这些还没配置好的可以去classroom里的web前端第三阶段学习或者看我之前发布的博客内容

效果

项目目录


src/App.vue 文件代码:

<template>
  <div id="app">
    <h1 v-html = "title"></h1>
    <input v-model="newItem" v-on:keyup.enter="addNew" ></input>
    <ul>
      <li v-for="item in items" v-bind:class="{finished:item.isFinished}" v-on:click="toggleFinish(item)">{{item.label}}</li>
    </ul>
  </div>
 </template><script>import Store from './store'export default {
  data:function(){
    return {
      title:"This is a Todolist",
      items:Store.fetch(),
      newItem:""
    }
  },
  watch:{
    items:{
      handler:function(items){
        Store.save(items)
      },
      deep:true
    }
  },
  methods:{
    toggleFinish:function(item){
      item.isFinished = !item.isFinished    },
    addNew:function(){
      this.items.push({
        label:this.newItem,
        "isFinished":false 
      })
      this.newItem=""
    }
  }}</script><style>.finished{
  text-decoration:line-through;}li{
  list-style:none;
  font-size:1.6em;
  margin-top:10px;}#app {
  background-image:url(./576df1167c887_1024.jpg);
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;}input{
  width:230px;
  height:40px;
  border-radius:20px;
  padding: 0.4em 0.35em;
  border:3px solid #CFCFCF;
  font-size: 1.55em;}</style>

src/store.js 实现简单存储数据效果,即刷新数据不消失,保留list:

const STORAGE_KEY='todos-vuejs'export default {
 fetch:function(){
  return JSON.parse(window.localStorage.getItem(STORAGE_KEY)||'[]');
 },
 save:function(items){
  window.localStorage.setItem(STORAGE_KEY,JSON.stringify(items))
 }}

操作流程

1.控制台进入项目目录  npm install 导入node_modules依赖包

2.npm run dev运行项目

注意:npm命令需要提前安装node.js

浏览器打开网址:http://localhost:6060/    即可出现效果


文末附源码

书山有路勤为径,学海无涯苦作舟。

    附件下载

  • vuedemo.zip 112.93KB 下载次数:6
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。