欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue.js數(shù)據(jù)綁定的方法(單向、雙向和一次性綁定)

 更新時間:2017年07月13日 14:20:00   作者:江湖z  
本篇文章主要介紹了vue.js數(shù)據(jù)綁定的方法(單向、雙向和一次性綁定),具有一定的參考價值,感興趣的小伙伴們可以參考一下

這兩天學習了vue.js數(shù)據(jù)綁定這個地方知識點挺多的,而且很重要,所以,今天添加一點小筆記。

前言

感覺 vue 的很多方面的內容,都參考了 angular 的東西,數(shù)據(jù)綁定方面,更是赤裸裸的“抄襲”。對照來看,更有助于我們學習和理解框架本身透露出來的思想,而非框架本身。

一、單向綁定

(一)Mustache 語法,雙大括號 {{}}(html 內字符串綁定)

<div id="app">
  <p>{{text}}</p>
</div>

<script>
  var app = new Vue({
    el: '#app',
    data: {
      text: 'text content'
    }
  });
</script>

但是,這種雙大括號語法,只能用于 html 內部的字符串,不能用于綁定 html 的屬性(如 title、disabled、checked 等),angular亦如是。

(二)v-bind 指令(html 屬性綁定)

<div id="app">
  <p title={{title}}></p>
  <p v-bind:title="title">title屬性綁定,html屬性不能使用雙大括號形式綁定,只能使用v-bind指令</p>
  <p :title="title">“:” 是 “v-bind” 的快捷方式</p>
</div>

<script>
  var app = new Vue({
    el: '#app',
    data: {
      title: 'title content'
    }
  });
</script>

某些框架如 Ember.js 支持在 html 屬性上面使用雙大括號語法,如 title={{title}},但是如果像上面,在 vue.js 的 html 屬性上使用這種語法,框架本身就會報錯,如下圖所示:

上面的報錯,除了提示不能使用雙大括號語法以外,還告訴我們可以使用 v-bind 或者 shorthand,也就是 v-bind 的縮寫 :。這一點上,vue 還是和 angular 的 ng-bind 非常相似。

一次性綁定

<div id="app">
  <p v-once>{{once}}</p>
</div>

<script>
  var app = new Vue({
    el: '#app',
    data: {
      once: 'once content'
    }
  });

  app.once = 'changed content';
</script>

原本 angular 不支持一次性綁定的,而過分的使用數(shù)據(jù)綁定,將嚴重影響應用性能,angular 中 bindonce 這個第三方模塊解決了這個問題。而 vue 通過 v-once 實現(xiàn)了框架本身對一次性綁定的原生支持。

## 不進行 html 轉義
<div id="app">
  <p v-html="html">不轉義的綁定(直接輸出 html)</p>
</div>

<script>
  var app = new Vue({
    el: '#app',
    data: {
      html: '<div>div element</div>'
    }
  });
</script>

出于安全考慮,默認的數(shù)據(jù)綁定,會進行轉義操作,屏蔽掉 html 標簽。使用 v-html 指令,可以實現(xiàn)對文本內容不轉義輸出。這里的輸出會替換掉目標標簽的 innerHTML 代碼中 p 標簽中原本的文本將被替換,angular 中也有類似的 ng-bind-html。

雙向綁定

<div id="app">
  <div>{{input}}</div>
  <textarea v-model="input"></textarea>
</div>
<script>
  var app = new Vue({
    el: '#app',
    data: {
      input: 'two-way-binding'
    }
  });
</script>

跟 angular 一模一樣,雙向綁定依賴于 v-model 指令。修改 textarea 中的內容的時候, {{input}} 將讓內容同步更新到對應的 div 元素中。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • vue使用file-saver本地文件導出功能

    vue使用file-saver本地文件導出功能

    這篇文章主要介紹了vue使用file-saver本地文件導出,大家需要安裝xlsx和file-saver,然后創(chuàng)建localExports.js文件,具體實現(xiàn)代碼跟隨小編一起看看吧
    2022-01-01
  • Vue3進階主題Composition API使用詳解

    Vue3進階主題Composition API使用詳解

    這篇文章主要為大家介紹了Vue3進階主題Composition API使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Nuxt項目支持eslint+pritter+typescript的實現(xiàn)

    Nuxt項目支持eslint+pritter+typescript的實現(xiàn)

    這篇文章主要介紹了Nuxt項目支持eslint+pritter+typescript的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Vue——前端生成二維碼的示例

    Vue——前端生成二維碼的示例

    這篇文章主要介紹了Vue——前端生成二維碼的示例,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • vue 實現(xiàn)可拖曳的樹狀結構圖

    vue 實現(xiàn)可拖曳的樹狀結構圖

    這篇文章主要介紹了vue 實現(xiàn)可拖曳的樹狀結構圖,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下
    2021-04-04
  • 推薦VSCode 上特別好用的 Vue 插件之vetur

    推薦VSCode 上特別好用的 Vue 插件之vetur

    這篇文章主要介紹了推薦VSCode 上特別好用的 Vue 插件之vetur,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue使用NPM方式搭建項目

    Vue使用NPM方式搭建項目

    這篇文章主要介紹了Vue項目搭建過程,使用NPM方式搭建的,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-10-10
  • 詳解在WebStorm中添加Vue.js單文件組件的高亮及語法支持

    詳解在WebStorm中添加Vue.js單文件組件的高亮及語法支持

    本篇文章主要介紹了詳解在WebStorm中添加Vue.js單文件組件的高亮及語法支持,非常具有實用價值,需要的朋友可以參考下
    2017-10-10
  • vue如何在vue.config.js文件中導入模塊

    vue如何在vue.config.js文件中導入模塊

    這篇文章主要介紹了vue如何在vue.config.js文件中導入模塊問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue實現(xiàn)定義一個全局實例Vue.prototype

    vue實現(xiàn)定義一個全局實例Vue.prototype

    這篇文章主要介紹了vue實現(xiàn)定義一個全局實例Vue.prototype,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論