天天看點

(vue基礎試煉_03)使用vue.js實作TodoList

接上一篇:(vue基礎試煉_02)使用vue.js實作隔2秒顯示不同内容​
(vue基礎試煉_03)使用vue.js實作TodoList
指令 作用
v-for 循環資料
v-on 綁定事件
v-model 資料的雙向綁定

文章目錄

  • ​​一、需求說明​​
  • ​​① 案例文檔​​
  • ​​② 基礎代碼​​
  • ​​③ 基礎效果圖​​
  • ​​二、v-for指令學習​​
  • ​​① 使用`v-for`指令 循環顯示清單内容​​
  • ​​② 使用`v-for`指令 基礎效果圖​​
  • ​​③ `v-for` 解說​​
  • ​​三、v-on指令學習​​
  • ​​四、v-model指令學習​​
  • ​​① v-model作用​​
  • ​​② v-model預測​​
  • ​​③ 頁面驗證v-model​​
  • ​​④ 擷取input的内容​​
  • ​​⑤ 如何從methods中擷取data中的inputValue​​
  • ​​五、擷取内容添加内容​​
  • ​​①思考​​
  • ​​② 代碼說明​​
  • ​​③ 效果圖​​
  • ​​④場景分析​​
  • ​​⑤ 清空輸入框内容​​
  • ​​⑥ 浏覽器驗證​​
  • ​​六、TodoList總結​​

一、需求說明

① 案例文檔

1. 在頁面上有一個輸入框和送出按鈕
2. 當在輸入框中輸入内容,點選送出按鈕時,内容會顯示在下面的清單中
3. 當點選送出按鈕時,輸入框中的内容要清空      

② 基礎代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用vue.js 實作TodoList</title>
</head>
<body>
<div id="app">
    <input type="text">
    <button>送出</button>
    <ul>
        <li>第一課的内容</li>
        <li>第二課的内容</li>
    </ul>
</div>
</body>
</html>      

③ 基礎效果圖

(vue基礎試煉_03)使用vue.js實作TodoList

二、v-for指令學習

指令 作用
v-for 資料循環

① 使用v-for指令 循環顯示清單内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用vue.js 快速入門hello world</title>
    <!--引入vue.js庫-->
    <script src="vue.js"></script>
</head>

<body>
<!--vue接管的div-->
<div id="app">
    <input type="text">
    <button>送出</button>
    <ul>
        <li v-for="item in list">{{item}}</li>
    </ul>
</div>

<script>
    /*建立了一個vue執行個體*/
    var app = new Vue({
        el: '#app',
        data: {
            list: ['第一課的内容', '第二課的内容']
        }
    });
</script>
</body>
</html>
      

② 使用v-for指令 基礎效果圖

(vue基礎試煉_03)使用vue.js實作TodoList

③ v-for 解說

借助v-for指令循環list資料,利用item來循環,循環的每一項都放到一個item裡面,然後,利用插值表達式,将item渲染出來

标簽指令 說明
v-for 循環資料
list 循環的list
item 循環的每一項都是一個item,簡言之,循環的每一項内容都放到item中
{{item}} 利用插值表達式擷取每一個item的内容,在頁面渲染顯示

三、v-on指令學習

指令 作用
v-on 事件綁定

當在輸入框中輸入内容,點選送出按鈕時,内容會顯示在下面的清單中

思路分析

1. 剛進入頁面應該是沒有資料的
2. 在點選送出時,要先該發生點什麼,需要綁定一個事件,在實踐中書寫邏輯
3. 在vue中綁定事件用v-on v-on:click="事件名稱"
4. 定義的事件方法函數要定義在Vue執行個體的methods中的鍵值對裡面      

那當點選送出時,被綁定的handleBtnClick事件方法 去哪找呢?

這個div屬于vue接管的區域,是以,當觸發handleBtnClic事件時,vue就會到vue執行個體中的methods中去找handleBtnClick這個方法,找到之後就會執行。

(vue基礎試煉_03)使用vue.js實作TodoList

四、v-model指令學習

① v-model作用

指令 作用
v-model 雙向綁定

② v-model預測

v-model指的是資料的雙向綁定,也就是當input框中的内容發生變化的時候,vue執行個體中的data裡面的inputValue也會發生變化;同樣當vue執行個體中的data裡面的inputValue這個變量發生變化時,頁面也會跟着發生變化。

③ 頁面驗證v-model

在頁面中開啟F12找到控制台Console,在控制台中輸出inputValue看看預設是什麼?

可以借助全局的app變量來實作

(vue基礎試煉_03)使用vue.js實作TodoList

很明顯預設是空字元串

當在輸入框中輸入内容,再到控制台,在此執行上一次指令,看效果

(vue基礎試煉_03)使用vue.js實作TodoList

很明顯,現在的inputValue得值和輸入框中一樣。可以概括為,當輸入框中的值發生變化時,vue執行個體中的data裡面的inputValue的值也會發生變化;那咱們反過來試一下,修改vue執行個體中的data裡面的inputValue的值的資料,驗證頁面輸入框中的值是否跟着變化?

(vue基礎試煉_03)使用vue.js實作TodoList

經驗證,也會發上變化。

④ 擷取input的内容

當點選送出時,怎樣擷取到input輸入框中的内容呢?

使用v-model模闆指令擷取input輸入框中内容,但是,需要雙向綁定才可以。

把input中的inputValue值和data中的inputValue值做雙向綁定。

(vue基礎試煉_03)使用vue.js實作TodoList

⑤ 如何從methods中擷取data中的inputValue

既然input中的inputValue值和data中的inputValue值做雙向綁定。那麼data中的inputValue的值其實就是input框中的inputValue的值,那在methods的handleBtnClick方法中,如何擷取data資料配置項中的inputValue的值呢 ?

通過​

​this.inputValue​

​​即可,當使用​

​this.inputValue​

​時,vue會自動的到資料配置項data中找inputValue

(vue基礎試煉_03)使用vue.js實作TodoList

測試一下

一開始input礦中的值預設是空的,點選送出,彈框空的

(vue基礎試煉_03)使用vue.js實作TodoList

當我們在輸入框中,寫内容時,再次測試

(vue基礎試煉_03)使用vue.js實作TodoList

測試和預期一樣

五、擷取内容添加内容

①思考

ul裡面有多少個li,是由data(資料配置項)中的list決定的。我們每一次送出,隻需要将每次送出的資料放到list的數組中就可以了,當資料發生變化時,是不是頁面也會跟這變呢?

② 代碼說明

說明
this.list 相當于data中的list 數組
this.list.push 意味着王list數組中添加内容
this.inputValue data中的inputValue 的值

③ 效果圖

(vue基礎試煉_03)使用vue.js實作TodoList

④場景分析

每一次送出的時候,我們可以擷取到每一次inout中的那内容,然後把擷取的内容添加到list的數組中,當資料發生變化,頁面就會跟着發生變化了。

⑤ 清空輸入框内容

在輸入框中輸入内容,點選送出,送出到data裡面的list數組中,但是,發現輸入框中我們輸入的内容依然存在,那又該如何清空呢?

我們知道​

​this.inputValue = input中的inputValue​

​​,我們是不是隻需要改變data資料配置項中的inputValue 的值,就可以修改input框中的inputValue 的值,因為當資料法身變化是,頁面也會法身變化,對吧!既然這樣,那我們當點選送出按鈕,送出完成後,把​

​this.inputValue​

​的值設定為空,不就可以了。

(vue基礎試煉_03)使用vue.js實作TodoList

⑥ 浏覽器驗證

依次輸入123,點選送出

(vue基礎試煉_03)使用vue.js實作TodoList

從上圖我們可以知道和我們預測的一緻。

六、TodoList總結