首頁  >  文章  >  web前端  >  vue是前端css框架嗎

vue是前端css框架嗎

青灯夜游
青灯夜游原創
2022-08-26 19:37:103308瀏覽

vue不是前端css框架,而是前端JavaScript框架。 Vue是一套用於建構使用者介面的漸進式JS框架,是基於MVVM設計模式的前端框架,且專注於View層。 Vue.js的優點:1、體積小;2、基於虛擬DOM,有更高的運作效率;3、雙向資料綁定,讓開發者不用再去操作DOM對象,把更多的精力投入到業務邏輯上;4、生態豐富、學習成本低。

vue是前端css框架嗎

本教學操作環境:windows7系統、vue3版,DELL G3電腦。

vue是什麼

Vue (讀音/vjuː/,類似view) 是一套用於建立使用者介面的漸進式JavaScript框架。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。 Vue 的核心函式庫只專注於視圖層,不僅易於上手,也方便與第三方函式庫或既有專案整合。另一方面,當與現代化的工具鏈以及各種支援類別庫結合使用時,Vue 也完全能夠為複雜的單頁應用(SPA)提供驅動。

Vue.js 的目標是透過盡可能簡單的 API 實現回應的資料綁定和組合的視圖元件。

Vue.js 本身不是一個全能框架-它只聚焦在視圖層。因此它非常容易學習,非常容易與其它庫或已有專案整合。另一方面,與相關工具和支援庫一起使用時  ,Vue.js 也能驅動複雜的單頁應用程式。

Vue.js的優點

  • 體積小:壓縮後只有33k;

  • ##更高的運作效率:基於虛擬DOM,一種可以預先透過JavaScript進行各種計算,把最終的DOM操作計算出來並優化的技術,由於這種DOM操作屬於預處理操作,並沒有真實的操作DOM,所以叫做虛擬DOM;

  • 雙向資料綁定:讓開發者不用再去操作DOM對象,把更多的精力投入到業務邏輯上;

  • 生態豐富、學習成本低:市場上擁有大量成熟、穩定的基於vue.js的ui框架及組件,拿來即用實現快速開發;對初學者友好、入門容易、學習資料多;

VUE框架原則

#        Vue物件將頁面中要改變的元素與data中變數綁定,綁定定後它會一直監聽data中變數值的改變,當值改變時,會自動找到與其綁定的元素並且讓元素跟著發生改變,改變元素的過程不需要人工幹預,提高了開發效率,而且這個流程不需要像JavaScript 那樣頻繁DOM操作去改變頁面結構,只是監聽一片區域,提高了執行效率。

Vue.js與MVVM關係:

#vue 框架是基於MVVM設計模式的前端框架,其中的Vue物件是MVVM設計模式中的VM視圖模型。

MVVM 是Model-View-ViewModel 的縮寫,它是一種基於前端開發的架構模式,其核心是提供對View 和ViewModel 的雙向資料綁定,這使得ViewModel 的狀態變更可以自動傳遞給View,即所謂的資料雙向綁定。

Vue.js 是一個提供了 MVVM 風格的雙向資料綁定的 Javascript 函式庫,專注於View 層。它的核心是 MVVM 中的 ViewModel。 ViewModel負責連接 View 和 Model,保證視圖和資料的一致性,這種輕量的架構讓前端開發更有效率、方便。

vue是前端css框架嗎

Model 層代表資料模型,也可以在Model中定義資料修改和操作的業務邏輯;

View 代表UI 元件,它負責將資料模型轉換成UI 展現出來.

ViewModel 是一個同步View 和Model的物件。

在MVVM架構下,ViewModel 透過雙向資料綁定把View 層和Model 層連接了起來,而View 和Model 之間的同步工作完全是自動的,無需人為干涉,因此開發者只需專注於業務邏輯,不需要手動操作DOM, 不需要關注資料狀態的同步問題,複雜的資料狀態維護完全由MVVM 來統一管理。

開始vue.js的安裝

Vue Devtools偵錯工具的安裝:可以在Google瀏覽器安裝vue Devtools工具可以更好的審查與調試Vue應用程式.

vue是前端css框架嗎

Vue.js 官網下載位址:http://vuejs.org/guide/installation.html

根據自己的生產要求來安裝對應版本.關於安裝vue的方法官網給出了多種多樣的方法,這裡演示獨立版本的安裝.


vue是前端css框架嗎

我下載之後的網址:https://vuejs.org/js/vue.js

使用獨立版本是直接用script標籤匯入url即可.Vue會被註冊為一個全域變數。

3-vue是前端css框架嗎

第一個vue實例:

HTML內容就是一個標籤組合而成,不知道的自己查詢即可.

..>标签用来声明HTML文档的编写标准,放在最开头位置,可写可不写.

和是中必须有的元素.

里面必须有<title>标签,<meta>和<style>可选.

charset属性指定HTML文档的编码为utf-8.

<script>标签里面的url即为我下载的vue独立版本的地址.src标签指定超链接.

View 层 - Div之间的代码属于html的view层

id指定HTML的唯一属性.

{{ }} 用于输出对象属性和函数返回值.

Model 层 - JavaScript代码如下(需放在指定的HTML元素之后)

el标签为实例提供挂载元素.用来联立view层和model.

data 用于定义属性.里面的内容也即最后的运行结果.</style>
</title>

vue是前端css框架嗎

vue過濾器"|",和linux中管道用法類似,即上一級的輸出作為下一級的輸入.

HTML 中的<!--...--> 是注释标签,Split用于分割字符串,join是把数组拼接成为字符串.
整个代码就是调用了vue中过滤器的用法,使用了vue的内置函数和自定义的函数对data里面定义的属性进行了转换大写,反转的操作.

vue是前端css框架嗎

#vue用法–條件判斷

#vue用法–條件判斷

vue是前端css框架嗎

##v-***代表的是vue中的指令.

<h1>~<h6>用来表示标题的层级关系.<h1>表示最大.
在 Vue 中,我们使用 v-if 指令实现同样的功能,和其他编程语言的条件判断逻辑一样.条件成立才会执行相应的代码.
<h1>Yes</h1>
也可以用 v-else 添加一个“else 块”:
<h1>Yes</h1>
<h1>No</h1>
同样也可以添加v-else-if在多种条件下进行判断.</h1>
</h6>
</h1>

範例1:vue是前端css框架嗎

##範例2 :

vue是前端css框架嗎

v-show指令根據條件展示元素,即不管初始條件如何元素都會被渲染.
当ok为true的时候输出了指定的代码Hello!,相应的ok为false时候没有任何输出.

vue是前端css框架嗎

vue用法–循環語句-v-for指令

#
v-for 指令需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 site 是数组元素迭代的别名。
  • 标签用于定义列表中的项目.可用于有序列表
      和无序列表
      中.也可以使用of替代in作为分隔符. 如下实例使用v-for指令依次遍历了data里面定义的数组元素.

      vue是前端css框架嗎

      v-for迭代對象,v-for可以透過一個物件的屬性來迭代資料.

      1vue是前端css框架嗎

      #v-for可以用來循環整數

      對getter和setter的理解1vue是前端css框架嗎

    顾名思义,get为取值,set为赋值.
    创建一个实例,isMe;此时,isMe是没有name属性的,当我们调用isMe.name时,我们会进入到get name(){...}中,先判断
    isMe是否有name属性,答案是否定的,那麽就添加一个name属性并给它赋值;如果有name属性,那就返回name属性。
    你可以把get看成一个取值的函数,函数的返回值就是它拿到的值。
    
    set属性理解,当我给实例赋值:
    isMe.name="周神"此时,会进入set name(val){...};形参val就是我赋给name属性的值,在这个函数里,我就可以做很多事了,
    比如双向绑定!因为这个值的每次改变都必须经过set,其他方式是改变不了它的,相当于一个万能的监听器。

    vue用法之vue計算屬性vs監聽屬性

    计算属性关键词: computed:
    整个代码进行的流程:
    1. data 属性初始化 getter setter(可理解为取值和赋值)
    2. computed 计算属性初始化,提供的函数将用作属性 vm.reversedMessage 的 getter
    3. 当首次获取 reversedMessage 计算属性的值时,dep 开始依赖收集.
    4. 在执行 message getter 方法时,如果 dep 处于依赖收集状态,则判定 message 为 reversedMessage 的依赖,并建立依赖关系
    5. 当 message 发生变化时,根据依赖关系,触发 reverseMessage 的重新计算

    1vue是前端css框架嗎

    methods也是vue的計算屬性,介紹一下methods和computed的區別:

    使用computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。
    而使用 methods ,在重新渲染的时候,函数总会重新调用执行。
    以下实例分别调用了vue的两种计算属性computed和methods.可以从运行结果很清晰的看到computed在第一次渲染之后就有了缓存,
    第二次调用的时候直接依赖缓存不会重新渲染,两次调用结果相同.而methods在每次调用的时候都会渲染,所以两次调用结果不同.

    1vue是前端css框架嗎

    vue之監聽屬性–watch,透過watch來回應資料的變化.

    <button>标签是创建一个按钮.
    @click等同于v-on:click,是一个指令的缩写.v-on表示事件监听,后续会详细讲到.
    <script>表示说明内部的代码属于js.   
    px表示像素. font-size设置字体大小.
    $watch是一个实例方法, nval表示新的数据, oval旧的数据.
    alert()方法用于显示带有一条信息和一个ok按钮的警告框.
    以下示例首先通过v-on指令来监听按钮的按键变化,然后data里面进行定义属性,接着调用vue的监听属性$watch来监听counter的
    变化,最后调用alert()方法弹出一个页面来直观显示数据的变化.</script></button>


    #vue用法之–vue樣式綁定:v-bind用來綁定html屬性

    1vue是前端css框架嗎

    方法特別靈活可以綁定數組,屬性等來實現需求.每個部分做一個演示.

    v-bind指令的缩写:
    <a></a>
    <!-- 缩写 -->
    <a></a>
    class 與style 是HTML 元素的屬性,用於設定元素的樣式,表達式的結果類型除了字串之外,還可以是物件或陣列。 style標籤用於為文件定義樣式資訊.v-bind:class表示class存在是否將取決於資料屬性isActive的true/false

    1vue是前端css框架嗎

    1vue是前端css框架嗎

    1vue是前端css框架嗎

    #多屬性動態切換class,可以即時調整data裡面的值來改變輸出結果:

    style標籤內定義了兩種樣式,並使用v-bind指令進行了樣式綁定.由於data裡面isActive屬性為true所以對應樣式被觸發.可以更改data屬性值來動態調整你想要的樣式輸出.

    1vue是前端css框架嗎

    直接綁定資料裡面的一個物件:classobject和class是對應的.

    text-danger 類別背景顏色覆蓋了active 類別的背景色:

    ######## #數組的用法:#########可以把一個數組傳給v-bind:class,以應用一個class列表.Text-danger會覆蓋activeClass,所以顯示結果為紅色.##### #############根據條件表達式判斷輸出:#########以下實例使用了三元表達式.表示總是存在errorClass但是activeClass只能在isActive為true時候顯示.#####################Vue.js style(內聯樣式):我們可以在v-bind:style 直接設定樣式##### ####

    vue是前端css框架嗎

    可以直接绑定到一个样式对象,让模板更清晰

    2vue是前端css框架嗎

    v-bind:style 可以使用数组将多个样式对象应用到一个元素上:

    2vue是前端css框架嗎

    vue用法之–事件处理器:v-on指令用来事件监听.

    以下示例调用了v-on指令来监听按钮的点击变化,每次点击counter加1最后做一个输出.

    2vue是前端css框架嗎

    v-on指令:处理用户输入

     为了让用户和你的应用进行交互,我们可以用 v-on 指令添加一个事件监听器,
     通过它调用在 Vue 实例中定义的方法: methods是定义的函数.
     以下示例同样是使用v-on来监听按钮的变化.当点击按钮会调用自定义的函数reverseMessage
     来对data里面定义的message进行反转拼接操作.

    2vue是前端css框架嗎

    v-on用法:内联js语句中调用方法

    say()实际是一条JS语句,带有括号的就叫内联处理器.相当于直接使用v-on来监听一条js语句,当点击按钮时进行调用say语句进行输出.

    2vue是前端css框架嗎

    vue:事件修饰符

    Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation()。
    Vue.js通过由点(.)表示的指令后缀来调用修饰符。
    .stop
    .prevent
    .capture
    .self
    .once
    <!-- 阻止单击事件冒泡 -->
    <a></a>
    <!-- 提交事件不再重载页面 -->
    

    ...

    ...

    vue:按键修饰符

    Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:
    <!-- 只有在 keyCode 是 13 时调用 vm.submit() -->
    <input>
    
    全部的按键别名:
    .enter
    .tab
    .delete (捕获 "删除" 和 "退格" 键)
    .esc
    .space
    .up
    .down
    .left
    .right
    .ctrl
    .alt
    .shift
    .meta
    
    实例:
    <!-- Alt + C的ASCll码为67 -->
    <input>
    <!-- Ctrl + Click -->
    <p>Do something</p>

    vue.js表单

    你可以用 v-model 指令在表单,,元素上创建双向数据绑定。V-model指令会自动根据控件类型自动选取正确的方法来更新元素.在input输入框中我们可以使用 v-model 指令来实现双向数据绑定.
    2vue是前端css框架嗎

    实例:

    以下实例将js代码单独分离出来用src标签引入即可.在主程序里面看起来代码量比较少.
    使用了v-model指令将输入框内容就行了双向绑定.会自动对页面数据变化做出响应.

    2vue是前端css框架嗎

    输出:

    2vue是前端css框架嗎

    更改输入框数据查看效果

    以上实例中 {{message}} 会根据输入框 input 的改变而改变,如果你不想让其变化可以修改为:{{* message }}
    vue是前端css框架嗎

    v-model对input和textarea框进行双向数据绑定:

    Placeholder是一个动态变量可以实现动态绑定.input单行文本框,textarea多行文本框.
    style标签用于定义一些代码的呈现样式,后面会有详细讲解.
    本实例就是使用v-model指令对单行和多行文本框进行了双向数据绑定.当我们修改文本框内容,vue会自动响应页面数据变化.

    2vue是前端css框架嗎

    v-model对复选框的双向数据绑定

    <input>标签用于收集用户信息.type规定了input元素的类型,value指定了输入字段的初始值.
    checkbox为复选框类型.
    <span>标签被用来组合文档中的行内元素.    <br>是换行标签.
    <label> 标签为 input 元素定义标注(标记),label 元素不会向用户呈现任何特殊效果。
    不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。</label></span>

    vue是前端css框架嗎

    v-model对单选按钮的双向绑定: radio为单选按钮类型

    3vue是前端css框架嗎

    v-model对select下拉列表的双向绑定:

    option 元素定义下拉列表中的一个选项。浏览器将 <option> 标签中的内容作为 <select> 标签的菜单或是滚动列表中的一个
    元素显示。option 元素位于 select 元素内部,必须与select元素配合使用不然没意义。<option> 标签可以在不带有任何属性的
    情况下使用,但是您通常需要使用 value 属性,此属性会指示出被送往服务器的内容。</option></select>
    </option>

    3vue是前端css框架嗎

    v-model修饰符

    .lazy
     	在默认情况下, v-model 在 input 事件中同步输入框的值与数据,但你可以添加一个修饰符 lazy ,从而转变为在change
    事件中同步,也就是在失去焦点或者按下回车键才更新.
    <!-- 在 "change" 而不是 "input" 事件中更新 -->
    <input>
    
    .number
       如果想自动将用户的输入值转为 Number 类型,可以添加一个修饰符number给v-model 来处理输入值:否则你输入的是数字
    但是类型却是字符串String,在数字输入框中有用.
    <input>
    这通常很有用,因为在 type="number" 时 HTML 中输入的值也总是会返回字符串类型。
    
    .trim
    如果要自动过滤用户输入的首尾空格,可以添加 trim 修饰符到 v-model 上过滤输入:
    <input>

    (学习视频分享:web前端入门

  • 以上是vue是前端css框架嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    上一篇:vue指令是啥下一篇:vue指令是啥