Vuecliは、進行中のtodolisit操作を実現するためのプロジェクトを構築します

Vuecliはtodolistの操作を実現するためにVueプロジェクトを構築します


基本的なレイアウト操作


1. srcフォルダーの下にあるviewsフォルダーを見つけて、その中に新しいファイルmyinput.vueを作成します。

 

2.データセンター内のオブジェクトの配列をカスタマイズし、v-forを介してビューレイヤーにレンダリングします

data() {
        return {
            list:[
                {name:'a',done:true},
                {name:'b',done:true},
                {name:'c',done:false},
                {name:'d',done:false}
            ]
        };
    },
<ul class="pp">
            <li v-for="(p,index) in list" :key="index">
                {
   
   {p.name}}
            </li>
        </ul>

3.左側のフォルダーのrouterフォルダーの下にあるindex.jsファイルを見つけます

(1)上記のmyinputを導入します

import myinput from '../views/myinput.vue'

(2)constルートでmyinputのルーティングルールを構成します

{
    path:'/myinput',
    name:'myinput',
    component:myinput
  }

4.左側にあるApp.vueファイルを見つけて、上部のビューレイヤーのラベルをジャンプし、myinputにジャンプします。

<router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link> |
      <router-link to="/myinput">myinput</router-link>

このとき、ターミナルを開き、現在のプロジェクトを入力し、npmrunserveと入力します

 実行が終了すると、2つのURLが表示されます

Ctrlキーを押しながらクリックして開きます。これは単純な例であるため、入ったときの外観です。これ以上スタイリングしないでください。

 上部のmyinputをクリックします


メソッドを追加 

1. myinputファイルに戻り、ビューレイヤーのulリストの上に入力テキストボックスを追加し、空のデータデータセンターでmes:''を定義し、v-modelを介して入力にバインドします。

<input type="text" v-model="mes">
  mes:'',

2.メソッドでaddメソッドを定義します

add(){
            // 当没有输入内容时
            if(this.mes == ''){
                // 弹窗提醒输入内容
                window.alert('请输入内容');
                // 返回false,什么也不做
                return false
            }
            // 输入内容后向数组的最好以为添加元素
            this.list.push({name:this.mes,done:false})
            this.mes = ''
        }

3.入力にキーボードプレスイベントを追加し、それをバインドしてEnterキーを押し、Enterキーを押したときにコンテンツを追加します

<input type="text" v-model="mes" @keypress.enter="add">

 


削除メソッドを追加

ビューレイヤーのliの各アイテムにボタンを追加し、パラメーターインデックスを渡すためのメソッドdelを追加します

メソッドセンターのこのメソッドで定義されています

<li v-for="(p,index) in list" :key="index">
                {
   
   {p.name}}--
                <button @click="del(index)">删除</button>
</li>
 del(index){
            this.list.splice(index,1)
        }

 


ウォッチモニタリングにより、ページのデータはローカルストレージlocalStorageに保存され、作成されたライフサイクル関数にバインドされるため、ページデータはlocalStorageのデータと同期されます。

 created(){
        // 拿到本地存储中的数据
        let todoList = localStorage.todoList;
        if(todoList){
            this.list = JSON.parse(todoList);
        }
    },
    watch:{
        list:{
            handler(list){
                console.log(list);
                

                localStorage.setItem('todoList',JSON.stringify(list))
            },

        }
    },

ページを操作するときは、コンソールの表示に注意してください

 更新後も、データは同期されたままになります

おすすめ

転載: blog.csdn.net/lolhuxiaotian/article/details/122038418