前端進階:Vue.js

目錄

框架:

助解:

框架:

VUE

什么是Vue.js?

Vue.js優點

Vue安裝

方式一:直接用<script>引入

方式二:命令行工具

第一個Vue程序

代碼

代碼解釋:?

運行

Vue指令

v-text? v-html

v-text

v-html

代碼

運行

v-bind? ?v-on

v-on

v-bind

代碼

運行

v-model

代碼

運行

v-if v-show

v-if?

v-show

代碼

運行?

Vue生命周期

代碼

運行


框架:

助解:

現在蓋高樓大廈是如何蓋的?

鋼筋混凝土澆筑框架

然后在框架結構的基礎上再次進行裝修

框架結構(把很多的基礎功能已經實現了,水,電,網線,下水...)

框架:

在語言的基礎上,把一些常用的重復出現的功能進行封裝,使得開發人員可以更高效的進行開發。

html、css、js

前端框架

js框架(對js進行封裝,簡化代碼方便操作)

UI框架(把一些常用的組件(表單,表格,按鈕...)進行封裝)

Java后端框架

VUE

什么是Vue.js?

Vue是一個前端js框架,簡化js操作,

其中MVVM思想實現數據雙向綁定(標簽展示和js中的數據),

任意一方發生改變,框架都會自動的更新另一方,

程序員不需要直接操作DOM對象(標簽)

Vue.js優點

效率高

生態豐富,學習成本低

vue.js只是對js進行了封裝,并不是代替js,基礎的語法還是js

Vue安裝

方式一:直接用<script>引入

下載Vue.js并導入js文件

<script src = "js/vue.js"></script>

方式二:命令行工具

命令行輸入:

$ npm install vue@^2

第一個Vue程序

1. 導入開發版本的 Vue.js

2. 創建 Vue 實例對象,設置 el 屬性和 data 屬性

3. 使用簡潔的模板語法把數據渲染到頁面上

代碼

 <!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 導入vue封裝的js文件 --><script src="js/vue.js"></script></head><body><div id="app"><!-- 插值表達式  直接可以將data中定義的數據獲取-->{{ message }}{{a}}<div>{{message}}</div></div><script>//new Vue 對象var app = new Vue({el: '#app',//將id為app的標簽與Vue對象進行綁定data: {//data中用來定義與標簽進行雙向綁定的數據,可以定義多組的message: 'Hello Vue!',a:10}})</script></body>
</html>

代碼解釋:?

1、{{ 變量 }} ,插值表達式獲取 data 數據

2、new Vue();創建 Vue 對象(VM 對象)

3、el:數據掛載的 dom 對象

? ? ?Vue 會管理 el 選項命中的元素及其內部的后代元素

? ? ?可以使用其他的選擇器,但是建議使用 ID 選擇器

? ? ?可以使用其他的閉合標簽,不能使用 HTML 和 BODY

4、data:{ message:’hello world’} model 數據

? ? ?Vue 中用到的數據定義在 data 中

? ? ?data 中可以寫復雜類型的數據,如對象,數組

運行

Vue指令

指令帶有前綴 v- 開頭,以表示它們是 Vue 提供的特殊屬性。

v-text? v-html

<P>{{msg}}</P> ?插值表達插入變量。不會覆蓋

v-text,v-html ? 會覆蓋標簽體中的內容

v-text

v-text 會把內容當作文本處理

<p v-text="msg"></p> ?

v-html

v-html ?會把內容當作 html的內容處理,可以解析標簽

<p v-html="msg"></P>

代碼

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 導入vue封裝的js文件 --><script src="js/vue.js"></script></head><body><div id="app"><P>{{msg}} vue</P><p v-text="msg"></p><p v-html="msg"></p></div><script> var app = new Vue({el: '#app', data: { msg: '你好!', }})</script></body>
</html>

運行

v-bind? ?v-on

v-on

v-on:事件名 ?為標簽添加事件

事件名不需要寫 on 指令可以簡寫為@

v-bind

v-bind:標簽屬性名="變量" 可以動態的來改變屬性的值,只需要在js中改變屬性的值即可

作用是為元素綁定屬性

完整寫法是 v-bind:屬性名

簡寫的話可以直接省略 v-bind,只保留:屬性名

代碼

?<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 導入vue封裝的js文件 --><script src="js/vue.js"></script><style type="text/css">.imgcss{width: 100px;height: 100px;}</style></head><body><div id="app"><img v-bind:src="img"><img :src="img"><!-- 為class屬性動態添加取消樣式 --><img :src="img" :title="title" v-bind:class="{imgcss:isActive}"><input type="button" value="改變1"/ v-on:click="test1()" ><input type="button" value="改變2"/ @click="test2('aaaaaa')" ></div><script> var app = new Vue({el: '#app', data: { img:"img/1.jpg",title:"這不是花",isActive:true},methods:{  //定義函數 可以在函數中使用this關鍵字訪問data中的數據改變變量值test1(){this.img = "img/2.jpg";this.title = "這是一朵花";this.isActive = false;},test2(a){this.img = "img/1.jpg";this.title = a; this.isActive = true;}}})</script></body>
</html>?

運行

初始態

test1

test2

v-model

v-model="msg" 可以將輸入框中value值 與 vue中數據進行綁定
當輸入框值發生改變時,會自動的更新到數據中

代碼

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 導入vue封裝的js文件 --><script src="js/vue.js"></script></head><body><div id="app"><p>{{msg}}</p><input type="text" v-model="msg"/></div><script> var app = new Vue({el: '#app', data: { msg: "", }})</script></body>
</html>

運行

v-if v-show

v-if v-show 都可以控制標簽是否顯示或隱藏

v-if?

v-if隱藏標簽時直接將標簽從網頁中刪除,大量操作開銷較大

v-show

v-show隱藏標簽時只是改變了標簽的display值

代碼

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 導入vue封裝的js文件 --><script src="js/vue.js"></script></style></head><body> <div id="app"><img :src="img" v-if="isShow"/><img :src="img" v-show="isShow"/></div><script> var app = new Vue({el: '#app', data: { img:"img/1.jpg",isShow:true},methods:{ }})</script></body>
</html>

運行?

Vue生命周期

每個 Vue 實例在被創建時都要經過一系列的初始化過程——例如,需要設置數 據監聽、編譯模板、將實例掛載到 DOM 并在數據變化時更新 DOM 等。同時 在這個過程中也會運行一些叫做生命周期鉤子的函數,這給了用戶在不同階段添 加自己的代碼的機會。

beforeCreate: function () { console.log('beforeCreatea ’); },

created: function () { console.log('createda ' ); },

beforeMount:function(){ console.log('beforeMounta’); },

mounted:function(){ console.log('mounteda’); }

代碼

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><!-- 導入vue封裝的js文件 --><script src="js/vue.js"></script></style></head><body><div id="app"></div><script> var app = new Vue({el: '#app', data: {},methods:{  },//vue對象的聲明周期鉤子函數,在生命周期的每個階段提供一個函數,供我們執行某些需要的操作beforeCreate() {console.log("vue對象創建之前")},created() {console.log("vue對象創建完成")},beforeMount() {console.log("vue對象與標簽綁定之前")},mounted() {console.log("vue對象與標簽綁定之后")//常用的,當vue對象創建成功后,與標簽綁定成功后執行我們想要的操作//類似于之前的onlood事件this.test();								   }})</script></body>
</html>

運行

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/39739.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39739.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/39739.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mysql和ES使用匯總

一、mysql和ES在業務上的配合使用 一般使用時使用ES 中存儲全文檢索的關鍵字與獲取的商品詳情的id&#xff0c;通過ES查詢獲取查詢商品的列表中展示的數據&#xff0c;通過展示id 操作去獲取展示商品的所有信息。mysql根據id去查詢數據庫數據是很快的&#xff1b; 為什么ES一般…

JavaScript如何聲明json對象

在JavaScript中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;對象實際上是以JavaScript對象的形式表示的。JSON是一種輕量級的數據交換格式&#xff0c;它基于ECMAScript&#xff08;歐洲計算機協會制定的js規范&#xff09;的一個子集&#xff0c;采用…

10 - Python文件編程和異常

文件和異常 在實際開發中&#xff0c;常常需要對程序中的數據進行持久化操作&#xff0c;而實現數據持久化最直接簡單的方式就是將數據保存到文件中。說到“文件”這個詞&#xff0c;可能需要先科普一下關于文件系統的知識&#xff0c;對于這個概念&#xff0c;維基百科上給出…

【CSharp】在class中申明public const int常量的應用

【CSharp】在class中申明public const int常量的應用 1.背景2.代碼3.運行1.背景 常量本身是靜態的,即常量屬于class本身與其實例化對象無關,且常量不可更改。 以上兩種特性在許多應用場景中都有其優勢和應用場合。 1.在定義定義固定值的場景,例如狀態碼、事件類型、配置參…

亞馬遜云科技AWS免費大熱AI應用開發證書(含題庫、開卷)

亞馬遜云科技AWS官方生成式AI免費證書來了&#xff01;內含免費AI基礎課程&#xff01;快速掌握AWS的前沿AI技術&#xff0c;后端開發程序員也可以速成AI專家&#xff0c;了解當下最&#x1f525;的AWS AI架構解決方案&#xff01; 本證書內容包括AWS上的AI基礎知識&#xff0c…

解析Kotlin中的Unit【筆記摘要】

1. Kotlin的Unit 和 Java的void 的區別 // Java public void sayHello() {System.out.println("Hello!") }// Kotlin fun sayHello(): Unit {println("Hello!") }Unit 和 Java 的 void 真正的區別在于&#xff0c;void 是真的表示什么都不返回&#xff0c…

剖析DeFi交易產品之UniswapV4:Swap

文章首發于公眾號&#xff1a;Keegan小鋼 Swap 可分為兩種場景&#xff1a;單池交易和跨池交易。在 PoolManager 合約里&#xff0c;要完成交易流程&#xff0c;會涉及到 lock()、swap()、settle()、take() 四個函數。單池交易時只需要調一次 swap() 函數&#xff0c;而跨池交易…

【面向就業的Linux基礎】從入門到熟練,探索Linux的秘密(七)-shell語法(5)

shell語法的一些知識和練習&#xff0c;可以當作筆記收藏一下&#xff01;&#xff01; 文章目錄 前言 一、shell 二、shell語法 1.文件重定向 2.引入外部腳本 3.作業 總結 前言 shell語法的一些知識和練習&#xff0c;可以當作筆記收藏一下&#xff01;&#xff01; 提示&…

七種大模型微調方法:讓你的Offer拿到爽

在當今的人工智能和機器學習領域&#xff0c;大型預訓練模型&#xff08;如GPT、BERT等&#xff09;已成為解決自然語言處理&#xff08;NLP&#xff09;任務的強大工具。然而&#xff0c;要讓這些模型更好地適應特定任務或領域&#xff0c;往往需要進行微調。本文將詳細介紹七…

手把手教你:如何在51建模網免費下載3D模型?

作為國內領先的3D互動展示平臺&#xff0c;51建模網不僅匯聚了龐大的3D模型資源庫&#xff0c;供用戶免費下載&#xff0c;更集成了在線編輯、格式轉換、內嵌展示及互動體驗等一站式功能&#xff0c;為3D創作者及愛好者搭建起夢想與現實的橋梁。 如何在51建模網免費下載3D模型…

鴻蒙認證值得考嗎?

鴻蒙認證值得考嗎&#xff1f; 鴻蒙認證&#xff08;HarmonyOS Certification&#xff09;是華為為了培養和認證開發者在鴻蒙操作系統&#xff08;HarmonyOS&#xff09;領域的專業技能而設立的一系列認證項目。這些認證旨在幫助開發者和企業工程師提升在鴻蒙生態中的專業技能…

linux——IPC 進程間通信

IPC 進程間通信 interprocess communicate IPC&#xff08;Inter-Process Communication&#xff09;&#xff0c;即進程間通信&#xff0c;其產生的原因主要可以歸納為以下幾點&#xff1a; 進程空間的獨立性 資源隔離&#xff1a;在現代操作系統中&#xff0c;每個進程都…

圖解 Kafka 架構

寫在前面 Kafka 是一個可橫向擴展&#xff0c;高可靠的實時消息中間件&#xff0c;常用于服務解耦、流量削峰。 好像是 LinkedIn 團隊開發的&#xff0c;后面捐贈給apache基金會了。 kafka 總體架構圖 Producer&#xff1a;生產者&#xff0c;消息的產生者&#xff0c;是消息的…

【高考志愿】測繪科學與技術

目錄 一、專業介紹 1.1 專業概述 1.2 專業方向 1.3 課程內容 二、就業前景 三、報考注意事項 四、測繪科學與技術專業排名 五、職業規劃與未來發展 高考志愿選擇測繪科學與技術專業&#xff0c;對于許多有志于空間信息技術領域發展的學生來說&#xff0c;無疑是一個極具…

怎么把錄音轉文字?推薦幾個簡單易操作的方法

在小暑這個節氣里&#xff0c;炎熱的天氣讓人分外渴望效率up&#xff01;Up&#xff01;Up&#xff01; 對于那些在會議或課堂中急需記錄信息的朋友們&#xff0c;手寫筆記的速度往往難以跟上講話的節奏。此時&#xff0c;電腦錄音轉文字軟件就像一陣及時雨&#xff0c;讓記錄…

PHP pwn 學習 (1)

文章目錄 A. PHP extensions for C1. 運行環境與工作目錄初始化2. 構建與加載3. 關鍵結構定義PHP_FUNCTIONINTERNAL_FUNCTION_PARAMETERSzend_execute_data等ZEND_PARSE_PARAMETERS_START等zend_parse_arg_stringzend_module_entryzend_function_entry等PHP類相關 原文鏈接&…

Python 作業題1 (猜數字)

題目 你要根據線索猜出一個三位數。游戲會根據你的猜測給出以下提示之一&#xff1a;如果你猜對一位數字但數字位置不對&#xff0c;則會提示“Pico”&#xff1b;如果你同時猜對了一位數字及其位置&#xff0c;則會提示“Fermi”&#xff1b;如果你猜測的數字及其位置都不對&…

Flower花所:穩定運營的數字貨幣交易所

Flower花所是一家穩定運營的數字貨幣交易所&#xff0c;致力于為全球用戶提供安全、高效的數字資產交易服務。作為一家長期穩定運營的數字貨幣交易平臺&#xff0c;Flower花所以其可靠的技術基礎和優質的客戶服務而聞名。 平臺穩定性與可靠性&#xff1a; 持續運營&#xff1a;…

Vue前端練習

此練習項目只涉及前端&#xff0c;主要是vue和ElementUI框架的使用。&#xff08;ElementUI官網&#xff1a;Element - The worlds most popular Vue UI framework&#xff09; 一、環境準備 安裝idea 安裝Node.js 一鍵式安裝(不需要做任何配置) npm -v&#xff08;也可用nod…

mysql-sql-第十五周

學習目標&#xff1a; sql 學習內容&#xff1a; 41.查詢沒有學全所有課程的同學的信息 select *from students where students.stunm not in (select score.stunm from score group by score.stunm having count(score.counm) (select count(counm) from course)) 42.查詢…