Vue.js 从零开始:MVVM、渐进式框架

本篇会围绕网路上常讲到主题,有些面试题应该也会多少考到一些,至少面试时可以讲的出来。


宣告式的渲染

以前热门的jQuery都是直接操作Dom来操控画面,也称为指令式的渲染,优点是直观、操作简单,但是当需求越来越多,程序也会越来越多行,造成难以维护的窘境。
宣告式的渲染则是利用data的方式,集中管理资料,再将资料呈现在画面。
HTML:

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

JavaScript:

//创建实体
const vm = Vue.createApp({
 //资料存取
  data() {
    return {
      text: 'Hello world!',
    }
  }
//挂载到#app
}).mount('#app');

MVVM概念介绍


图片来源:https://v1-cn.vuejs.org/guide/overview.html

MVVM采用这三部分来组成:

  • View 画面
  • ViewModel 资料系结器
  • Model 资料状态

Model有任何资料的改变,ViewModel会自动把资料绑定,渲染到View画面上。
HTML:

<div id="app">
  <input type="text" v-model="text">
  {{text}}
</div>

JavaScript:

const vm = Vue.createApp({
 //Model 资料存取 
  data() {
    return {
      text: '',
    }
  }
}).mount('#app');

动手玩看看:https://codepen.io/uwhhiaxx/pen/ZEyXpyQ?editors=1010

运作概念说明,与指令式渲染的差别在与JavaScript少了对DOM的操作语法,使用Vue.creatApp建立一个新物件,并赋予给vm变数,新生成的这个物件称为实体,再透过.mount挂载至指定的节点,v-model则是绑定data的资料状态,当data里面的text有任何更动时,input也会同时做改变View(画面)`。
也可以改写成
JavaScript:

const app = {
  data() {
    return {
    }
  }
}
Vue.createApp(app).mount('#app');

或是

Vue.createApp({
  data() {
    return{
    }
  }
}).mount('#app');

渐进式框架

当初Vue.js并没有这麽的完整,主要核心只有宣告式渲染元件系统,相较於其他framework,功能比较不完善,但可以任意使用其他第三方工具,Vue.js的团队也依照之後的需求,慢慢的开发出Vue router,还有大型专案会用到的Vuex,建构工具还有Vue CLI内建整和webpack,Vue.js能让使用者依照自己习惯的方式,挑选你所需要的功能,以上为渐进式的解释。

参考来源

重新认识 Vue.js|Kuro Hsu
六角学院
Vue.js

/images/emoticon/emoticon11.gif


<<:  [Day4]-基本串列(list)

>>:  Day 4 - 原型 (3): 主页的元件组合

【左京淳的JAVA WEB学习笔记】第九章 电商网站-基础配置

本章开始研究实际案例 由於省略掉了一些细节,无法进行实际测试。 不过经由范例程序码的演示,可以清楚了...

【Day 15】 为何要进行资安攻击的分析

大家早安~ 接下来就是到了我们实作二 - 资安攻击分析 on AWS,在那之前想先跟大家讨论 Q:『...

[Day_7]资料储存容器 (1) - tuple

Python的资料储存容器, 可以分为tuple、串列(list)、字典(dict)与集合(set)...

10 有局数就可以打分数

昨天做到双方都出卡後,增加 turn 数 现在在做 每到 3 turn 换一局 round + 1 ...

[DAY 27] 用google sheet 做简易UI介面(2/3)

接下来是利用按钮执行程序 毕竟每一次都要开启专案很麻烦 所以来看看如何用按钮吧 在google 试算...