<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 14 使用`v-model`進行雙向數據綁定 > 原文: [https://javabeginnerstutorial.com/vue-js/14-two-way-binding-v-model/](https://javabeginnerstutorial.com/vue-js/14-two-way-binding-v-model/) 終于,有一天,要了解難題的缺失部分,即[數據綁定](https://javabeginnerstutorial.com/vue-js/5-data-binding-p1/)。 到目前為止,我們已經了解了如何使用插值,如何將`v-bind`用于屬性綁定以及如何將`v-on`用于監聽事件。 缺少的部分是`v-model`,它用于雙向數據綁定,而這正是我們今天要重點關注的內容! ## 大字警報! *雙向數據綁定*:這只是模型(Vue 實例中的`data`對象)和視圖之間的關系。 對視圖所做的任何更改(例如,由用戶執行)將立即反映在基礎 Vue 模型中,并將在視圖中呈現此數據的所有位置進行更新。 換一種說法, 1. 使用對`data`屬性(模型)所做的更改來更新視圖 2. 并且,只要在視圖中進行更改,數據屬性(模型)就會更新 你的頭在旋轉嗎? 別擔心! 我們將通過一個示例來理解這個概念。 ## `v-model`指令 通常使用表單輸入和控件創建這種雙向綁定。 而`v-model`是用于實現該目標的指令! 具體來說,以下是`v-model`所使用的確切 HTML 元素, * `<input>` * `<textarea>` * `<select>` * 組件(*我們將在“高級 VueJS”部分介紹此主題*) ## 實踐示例 讓我們以`<input>`元素為例,在網頁上顯示一個文本字段。 讓我們在 Vue 實例的`data`對象中也具有“`message`”屬性,該屬性用作我們的 Vue 模型,并具有`<p>`標簽以使用胡須語法(文本插值)呈現值。 現在,我們要 1. 用`message`屬性的值填充文本字段,例如“`hi`”,即使用模型更新視圖。 2. 每當用戶在文本字段中更改值“`hi`”時,都必須在數據屬性`message`中進行更新,在我們的示例中,即使用視圖和視圖的更改來更新模型 3. 同時將其呈現在`<p>`標簽中 通過將`v-model`指令添加到`<input>`標記并將“`message`”屬性綁定到它,可以完成所有這三個步驟, ```js <input type="text" v-model="data_property_to_bind"></input> ``` **`Index.html`** ```js <!DOCTYPE html> <html> <head> <title>Hello Vue!</title> <!-- including Vue with development version CDN --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <h2>Welcome</h2> <div> <!-- two-way binding with v-model --> Greeting Message: <input type="text" v-model="message"></input> <p>The message is: {{ message }}</p> </div> </div> <!-- including index.js file --> <script src="index.js"></script> </body> </html> ``` **`Index.js`** ```js new Vue({ el: "#app", data: { message: "hi" } }); ``` 因此,`v-model`指令告訴 vue.js 為輸入字段和引號內提到的`message`數據屬性設置雙向綁定。 當然,所有這些都會以**反應**發生! 初始輸出如下。 ![v-model initial output](https://img.kancloud.cn/87/86/8786d448dd72a39f0c6c60fae199254e_467x384.png) 圖像的右半部分顯示 [Vue DevTools](https://javabeginnerstutorial.com/vue-js/4-vue-devtools-setup/) 窗格。 也可以看到具有`message`屬性及其值的`data`對象。 當我們將文本字段中的消息從“`hi`”更改為“`hello`”時,我們鍵入的每個字符都將在基礎數據模型(如 Vue Devtools 中所示)上進行反應式更新,并在輸出結果的視圖中進行更新,在`<p>`標簽中使用小胡子語法。 ![reactivity with v-model](https://img.kancloud.cn/9b/84/9b84df2ca7f042c71a4d628e6986c4e3_470x379.png) 我強烈建議您如圖所示打開 Vue Devtools 并更改文本字段中的值,以查看此更改是被動發生的。 這將是您的盛宴! 我可以保證。 ## 修飾符 `v-model`帶有三個修飾符。 如果您錯過了修飾符部分,請[查看他](https://javabeginnerstutorial.com/vue-js/11-listening-to-dom-events-and-event-modifiers/)。 **用法**:遵循`v-model`指令,添加一個點并指定修飾符。 * `.lazy` – 在更改事件(而非輸入事件)之后將輸入與數據同步 ```html <input v-model.lazy="message"> ``` * `.number` – 用于將有效的輸入字符串轉換為數字 ```html <input v-model.number="age"> ``` * `.trim` – 自動修剪用戶輸入 ```html <input v-model.trim="message"> ``` 該代碼一如既往在 [GitHub 倉庫](https://github.com/JBTAdmin/vuejs)中可用。 試一試,并注意 Vue 如何根據輸入類型是否為文本字段,復選框,單選按鈕,選擇,多選,文本區域元素等來正確更新元素……它看起來和聽起來很神奇,因為你需要用于完成這項艱巨的的所有語法,都是一個簡單的指令`v-model`。 如果遇到任何問題,請隨時在評論部分留言。 祝您有美好的一天!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看