麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 基礎知識 > 正文

vue指令的三要素都有哪些

2024-09-12 20:29:55
字體:
來源:轉載
供稿:網友
  這篇文章給大家分享的是有關vue指令的三要素有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
 
  vue指令的三要素是響應式、模板引擎和渲染。響應式是指當更新或者增加數據時,頁面會有響應,重新渲染對應的數據;模板本質上是字符串,模板最終轉換成js代碼。
 
  本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。

  veu中的三要素
 
  響應式:vue如何監聽到 data 每個屬性變化?
  模板引擎:vue的模板如何被解析,指令如何處理?
  渲染:vue 的模板如何被渲染成 html?以及渲染過程
  vue 如何實現是響應式
 
  Object.defineProperty
  模擬
 
  1) 什么是響應式
 
  修改 data 屬性之后, vue 立刻監聽
 
  data 屬性被代理到 vm 上
 
  2) Object.defineProperty
 
  語法:
 
  Object.defineProperty(obj, prop, descriptor)
  參數說明:
 
  obj:必需。目標對象
  prop:必需。需定義或修改的屬性的名字
  descriptor:必需。目標屬性所擁有的特性
  基礎
 
  var obj = {
    name: 'zhangsan',
    age: 25
  }
  
  console.log(obj.name); // 獲取屬性的時候,如何監聽
  obj.age = 26; // 賦值屬性的時候,如何監聽
  我們用defineProperty方法實現上面的操作:如下
 
  var obj = {}
  
  var name = 'zhangsan'
  
  Object.defineProperty(obj, "name", {
    get: function () {
      console.log('get');
      return name;
    },
    set: function (newVal) {
      console.log('set');
      name = newVal;
    }
  });
  
  console.log(obj.name); // 可以監聽到
  obj.name = 'lisi'; // 可以監聽到
  使用defineProperty我們就可以監聽到數據變化了。其中這個也是 vue 做響應工做核心的方法了。
 
  3) 模擬
 
  var mv = {}
  
  var data = {
    price: 100,
    name: 'zhangsan'
  }
  
  var key, value;
  for (key in data) {
  
    // 命中閉包。新建一個函數,保證 key 的獨立的作用域
    (function (key) {
  Object.defineProperty(mv, key, {
    get: function () {
      console.log('get');
      return data[key];
    },
    set: function (newVal) {
      console.log('set');
      data[key] = newVal
    }
  })
    })(key);
  }
  vue的模板如何被解析
 
  模板是什么
 
  render 函數
 
  render 函數 與 vdom
 
  1) 模板是什么
 
  本質:字符串
 
  有邏輯,如 v-if v-for等
 
  與 html 格式很像,但有很大的區別
 
  最終還要轉換成 html 來顯示
 
  模板最終必須轉換成 JS 代碼, 因為:
 
  有邏輯(v-if v-for),必須用 JS 才能實現( 圖靈完備)
 
  轉換為 html 渲染頁面,必須用 JS 才能實現
 
  因此,模板最重要轉換成一個 JS 函數
 
  基礎事例
 
   <div id="app">
      <div>
        <input v-model="title">
        <button v-on:click="add">submit</button>
      </div>
      <ul>
        <li v-for="item in list">{{item}}</li>
      </ul>
    </div>
  以上就是一個模板。
 
  感謝各位的閱讀!關于“vue指令的三要素有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 美女wc| 国产精品成人久久久久a级 欧美特黄一级高清免费的香蕉 | 欧美18—19sex性护士中国 | 91精品国产一区二区三区动漫 | 97精品国产高清在线看入口 | 黄色淫片 | 国产流白浆高潮在线观看 | 免费国产一区二区视频 | 黄色7777| 久久国产一二三 | 久久久久久久一区二区 | 国产精品视频免费网站 | 精品久久久久久亚洲精品 | 中日韩乱码一二新区 | 黄色影院在线观看视频 | 欧美一级淫片007 | 国产精品99久久久久久久 | 欧美一级毛片免费观看 | 中日韩免费视频 | 国内精品免费一区二区2001 | 国产va在线观看免费 | 综合网日日天干夜夜久久 | 久久久久久久久淑女av国产精品 | 99在线在线视频免费视频观看 | 久久久久久久久久久国产精品 | 草久在线| 强伦女教师视频 | 精品一区二区免费视频视频 | 精品久久久久久久 | 欧美激情性色生活片在线观看 | 久草在线观看资源 | 精品国产一区二区三区四 | 国产羞羞视频 | 日本中文不卡视频 | 91免费高清视频 | 久久精品一区二区三区不卡牛牛 | 一级大黄毛片 | 久久久久久久一区二区 | 国产精品久久久网站 | 黄色片一区二区 | 我爱我色成人网 |