zoukankan      html  css  js  c++  java
  • 使用localstorage来存储页面信息

         今天小颖在跟着慕课网学习vue,不学不知道,一学吓一跳,学了才发现,我之前知道的只是vue的冰山一角,嘻嘻,今天把小颖跟着慕课网学习的demo,给大家分享下,希望对大家有所帮助嘻嘻。

    环境搭建:

    参考:vue API

           vue2.0+element+node+webpack搭建的一个简单的后台管理界面

    详情:

    npm install --global vue-cli

     vue init webpack vue-project

    然后:

    cd vue-project

    npm install    如果你配置了淘宝镜像,也可以用cnpm install

    npm run dev

    我们就在浏览器看到:

     但我们最终要实现:

    如何实现如图的效果呢?

    1.将App.vue修改为:

    <template>
      <div id="app">
        <div class='vue-demo'>
          <input type="text" class="txt" v-model='newItem' @keyup.enter='addItemFun'>
          <ul>
            <li v-for="its in items">{{its.name}}</li>
          </ul>
        </div>
      </div>
    </template>
    <script>
    import store from './store'
    export default {
      name: 'app',
      data() {
        return {
          newItem: '',
          items: store.fetch()
        }
      },
      watch: {
        items: {
          handler: function(val, oldVal) {
            store.save(val);
          },
          deep: true
        }
      },
      methods: {
        addItemFun() {
          var _this = this;
          _this.items.push({ 'name': _this.newItem });
          _this.newItem = '';
        }
      }
    }
    
    </script>
    <style>
    #app {
      font-family: 'Avenir', Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-align: center;
      color: #2c3e50;
      margin-top: 60px;
    }
    
    .vue-demo {
      width: 400px;
      margin: 0 30px;
    }
    
    .txt {
      width: 200px;
      height: 25px;
      line-height: 24px;
      border-radius: 5px;
    }
    
    </style>

    对于初学vue的同学,可能对于watch可能不太熟悉,那就麻烦大家移步到 vue API 或参考下小颖之前写的文章:vue——实例方法 / 数据

    2.在与App.vue同级目录下,新建store.js文件:

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

    3.在项目中打开cmd窗口,运行:npm run dev,就完成啦嘻嘻。

  • 相关阅读:
    js 比较日期的大小
    日历(从今天起后面的14天)
    数字转大写
    object对象进行深拷贝
    浏览器渲染机制
    t-5.倒计时(秒杀效果)--本地--服务器(待续)
    s-1.rem自适应
    t-3.跑马灯
    t-2.手机端简单轮播(无滑动效果)
    16.弹性布局
  • 原文地址:https://www.cnblogs.com/yingzi1028/p/7774954.html
Copyright © 2011-2022 走看看