初學Vue.js--數據綁定與文本插值

(一)數據雙向綁定

數據的雙向綁定是Vue.js的核心功能在上一篇記錄中已經簡單創建了一個Vue實例如下

var myVue=new Vue({

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?el:'#myvue'//myvue是已經存在的div,其id值為myvue

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?})

使用選項el掛載成功后,我們可以通過myVue.$el來訪問該元素,如果需要在此div內綁定數據,就要用到Vue實例的另外一個選項data,data選項可以聲明應用內需要雙向綁定的數據,建議所有會用到的數據都預先再data內聲明這樣不至于將數據散落在業務邏輯中,難以維護。

Vue實例本身也代理了data對象里所有的屬性可以這樣進行訪問:

var myVue=new Vue({

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?el:'#myvue',

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?data:{?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? num:3

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}

?})

console.log(myVue.num);//3

除了顯式聲明數據外,也可以紙箱一個已有的變量,并且他們之間默認建立了雙向綁定,當修改其中任意一個是,另一個也會一起變化比如:

var myData={

? ? ? ? ? ? ? num:2

}

var myVue=new Vue({

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?el:'#myvue',

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?data:myData

?})

console.log(myVue.num)//2

myVue.num=1//修改屬性原數據也會變

console.log(myData.num)//1

myData.num=3//修改原數據屬性也會變

console.log(myVue.num)//3

(二)文本插值

(1)

使用雙大括號{{}}是最基本的文本插值的方法,他會自動將我們雙向綁定的數據實時顯示出來,微信小程序也是通過此方法進行的數據綁定顯示在前端頁面上,下面為一個簡單的文本插值

<div id='myvue'>

當前時間為{{ date }} ? ? ? ? ? ? ? ? ? ? ? ? ?

</div>

<script src='XXX'></script> ? ? ? ? ? ? ? ? ? //引用下載好的Vue.js此路徑為文件的相對路徑,此后所有引用相同

<script>

? var myVue=new Vue({

? ? ? ? ? ? ? ? ? ? ?el:'#myvue',

? ? ? ? ? ? ? ? ? ? ?data:{

? ? ? ? ? ? ? ? ? ? ?date:new Date()

? ? ? ? ? ? ? ? ? ? ? }

})

</script>

這樣就可以在頁面實現顯示‘當前時間為+頁面加載出來的時間’

(2)

此時我們讓他每秒更新一下,思路就是用setInterval()定時器每隔1000毫秒進行一次new Date(),然后把new Date()的值賦給data屬性里的date.就可以實時更新變換,但是這時候我們就要思考Vue.js的生命周期了,因為每個vue實例創建時都會經過一系列的初始化過程,同時也會調用相應的生命周期鉤子,我們可以利用這些鉤子,在合適的時候執行我們的業務邏輯。就像jQuery中的ready()方法一樣Vue的生命周期鉤子與之類似,比較常用得有:

creatd(創建):實例創建完成后調用,此階段完成了數據的觀測等,但尚未掛載,$el還不能用,需要初始化處理一些數據時會比較有用;

mounted(掛載):el掛載到實例上后調用,一般我們的第一個業務邏輯會從這里開始;

beforeDestroy(銷毀之前):實例銷毀之前調用,主要解綁一些使用addEventerListener 監聽的事件等

這些鉤子與el data類似是被作為選項寫入Vue實例內的,并且這些鉤子也就是方法內的this指的是調用這些方法的實例本身比如

<div id='myvue'></div>

<script src='XXX'></script>

<script>

? var myVue=new Vue({

? ? ? ? ? ? ? ? ? ? ?el:'#myvue',

? ? ? ? ? ? ? ? ? ? ?data:{

? ? ? ? ? ? ? ? ? ? ? ? num:1

? ? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ? created:function(){

? ? ? ? ? ? ? ? ? ? ? ? console.log(this.num)//1

? ? ? ? ? ? ? ? ? ? ? ? console.log(this.$el)//undefined(由于此時還未掛載)

? ? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? ? ?mounted:function(){

? ? ? ? ? ? ? ? ? ? ? ? ?console.log(this.num)//1

? ? ? ? ? ? ? ? ? ? ? ? ?console.log(this.$el)//<div id='myvue'></div>

? ? ? ? ? ? ? ? ? ?}

})

</script>

最后了解到生命周期后我們就可以編輯我們的業務邏輯了,我們要把我們的處理的業務邏輯寫在mounted里如下

修改為

<div id='myvue'>

當前時間為{{ date }} //注意要有空格呀

</div>

<script src='XXX'></script>

<script>

?var myVue=new Vue(){

? ? el:'#myvue',

? ? data:{

? ? ? ? date:new Date()

? ? },

? ?mounted:function(){

? ? ? ? ? ? ? ? ?var _this=this; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//聲明一個變量指向本實例

? ? ? ? ? ? ? ? ?this.timer=setInterval(function(){ ? ? ? ? ? ? //這個this和_this代表的都是本實例

? ? ? ? ? ? ? ? ? ? ? ? _this.date=new Date(); ? ? ? ? ? ? ? ? ? ?//因為需要用到的對象是實例所以用_this,如果直接寫this的指的是setInterval方法

? ? ? ? ? ? ? ? ? },1000)

? ? },

beforeDestroy:function(){

? ? ?if(this.timer){

? ? ? ? ?clearInterval(this.timer); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//在實例銷毀前清除定時器

? ? ?}

}

}

</script>

這樣我們完成了一個在頁面上實時變化的時間

?

?

?

?

?

? ? ?

?

轉載于:https://www.cnblogs.com/gulugulul/p/11201723.html

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

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

相關文章

網頁色彩搭配的內涵

網頁的色彩搭配往往是網友們感到頭疼的問題&#xff0c;尤其是那些完全沒有美術基礎的網友。到底用什么色彩搭配好看呢&#xff1f;讓我們來看看網友54雨寒的高見吧&#xff01; 一、紅色的色感溫暖&#xff0c;性格剛烈而外向&#xff0c;是一種對人刺激性很強的色。紅色容易引…

VS歷程簡單記錄

當時一開始裝VS2015&#xff0c;是用了很長時間了。裝了之后是可以用的&#xff0c;打了不少代碼的。 后來很長一段時間沒用它了&#xff0c;時隔良久&#xff0c;雙擊快捷方式竟然打開不了&#xff0c;讓我“重裝”。 其實也不用重裝&#xff0c;本機用的Win10&#xff0c;去控…

計算機考研分數2019,2019考研分數線和國家線有什么關系

2019考研學校分數線和國家線有什么區別。國家線即全國碩士研究生考生進入復試基本分數要求&#xff0c;是基礎分數線&#xff0c;要有資格參加復試必須過了這條線。國家線今天大概在3月中旬公布。學校分數線(簡稱學校線)是各招生單位在國家線的基礎上&#xff0c;根據本校有關專…

記錄一次react項目配置過程

1.為什么要配置react而不是腳手架 因為要知其然,最好還要知其所以然&#xff01; 2.配置對象 webpack webpack-dev-server babel eslint 3.配置過程 1.webpack 第一步:引入必須文件 const path require("path"); const webpack require("webpack");//為了…

智能文件名排序

默認排序問題 windows排序 Windows的資源管理中&#xff0c;提供了文件名的智能排序功能&#xff0c;可以識別出文件名中數字&#xff08;數字位數不相同&#xff09;&#xff0c;然后比較數字大小進行排序&#xff0c;如下圖&#xff1a; 代碼默認排序 但在C#中的列表排序中則…

VS2005 Web Application Project啟用WSE(Ver 3.0)的方法

使用過WSE的朋友都知道&#xff0c;若要啟用Server端Projects的WSE功能&#xff0c;需要選中如下所示的兩個單選框:Enable this project for Web Services Enhancements和Enable Microsoft Web Services Enhancement Soap Protocol Factory.但是在WSE3.0中對于Web Application …

計算機英語課程背景,專家講座第十五講:信息化背景下高質量大學英語課程建設與教學設計...

11月27日下午&#xff0c;南京大學王海嘯教授應邀到我院開展題為“信息化背景下高質量大學英語課程建設與教學設計”學術講座。講座由外國語言文學學院胡元江副院長和鮑貴教授共同主持&#xff0c;學院全體教師和研究生參加了本次學術活動。王海嘯教授目前兼任教育部高等學校大…

ORA-28001: the password has expired

原創文章地址:https://blog.csdn.net/zdw_wym/article/details/38066745 Oracle提示錯誤消息 ORA-28001: the password has expired&#xff0c;是由于Oracle11G的新特性所致&#xff0c;Oracle11G創建用戶時缺省密碼過期限制是180天&#xff08;即6個月&#xff09;&#xff0…

使用c#操作IBM WebSphere MQ

IBM WebSphere MQ 5.3升級到CSD05之后&#xff0c;提供了使用.net操作MQ的類庫&#xff0c;安裝完成之后&#xff0c;會在MQ的安裝目錄的bin文件夾下面多出一個amqmdnet.dll文件&#xff0c;把這個DLL作為引用添加到你的.net工程中&#xff0c;你的.net程序中就可以操作IBM Web…

【SpringBoot】在IOC之外的類中使用IOC內部的Bean

某些時候&#xff0c;某些類是不歸IOC管的&#xff0c;如我們的一些Util&#xff0c;如何使用IOC中的Bean&#xff1f; 1、寫一個SpringUtil類&#xff0c;該類用于操縱Spring的ApplicationContext Component的注解是需要的&#xff0c;該Util是要被Spring管理的。 Component p…

計算機office二級app,計算機二級office

計算機二級office是一款為用戶提供各種計算機二級知識的軟件&#xff0c;用戶可以在應用中快速的學習計算機二級office知識&#xff0c;順利通過二級考試&#xff1b;應用擁有海量的精選計算機二級考試題庫&#xff0c;不放過每一個考題&#xff0c;讓用戶全面的學習二級知識&a…

Obj-C 實現設計模式 -- Observer

觀察者模式&#xff0c;采用氣象站的例子來說明&#xff0c;本質上跟Java來實現差不多。只不過是針對協議&#xff08;Delegate&#xff09;來編程。 簡單說下需求&#xff0c;氣象顯示版向氣象站注冊成功訂閱者&#xff08;觀察者&#xff09;&#xff0c;氣象站監測到氣溫發生…

影響員工敬業度的三大因素

敬業的員工通常業績比較突出&#xff0c;對企業做的貢獻很大。經理人當然希望自己的員工個個都是敬業的員工&#xff0c;但實際上&#xff0c;在中國只有8%的員工具有敬業精神&#xff0c;相比全球的平均水平14%還有很大的差距。 是什么因素造成員工不敬業呢&#xff1f;根據世…

cf914D. Bash and a Tough Math Puzzle(線段樹)

題意 題目鏈接 Sol 直接在線段樹上二分 當左右兒子中的一個不是\(x\)的倍數就繼續遞歸 由于最多遞歸到一個葉子節點&#xff0c;所以復雜度是對的 開始時在糾結如果一段區間全是\(x\)的兩倍是不是需要特判&#xff0c;實際上是不需要的。 可以這么想&#xff0c;如果能成功的話…

計算機答辯答不上來怎么回答,答辯答不上來怎么辦

論文答辯成為了不少同學的最后一次考試&#xff0c;從開題報告、論文定稿到格式排版大家一定都花費了大量的時間和精力&#xff0c;然而有時也會有一點小錯誤。所以&#xff0c;答辯前怎么準備&#xff0c;答辯的時候應該怎么靈活表現才能讓自己最有可能通過答辯呢&#xff1f;…

urllib2.urlopen超時問題

urllib2.urlopen超時問題 沒有設置timeout參數&#xff0c;結果在網絡環境不好的情況下&#xff0c;時常出現read()方法沒有任何反應的問題&#xff0c;程序卡死在read()方法里&#xff0c;搞了大半天&#xff0c;才找到問題&#xff0c;給urlopen加上timeout就ok了&#xff0c…

git 關聯遠程分支

問題解析&#xff1a; git本地新建一個分支后&#xff0c;必須要做遠程分支關聯。如果沒有關聯&#xff0c; git 會在下面的操作中提示你顯示的添加關聯。關聯目的是如果在本地分支下操作&#xff1a; git pull, git push &#xff0c;不需要指定在命令行指定遠程的分支&#x…

Sql Server 常用日期格式

http://www.cnblogs.com/waitu/archive/2006/01/16/318299.html 轉載于:https://www.cnblogs.com/passrift/archive/2006/09/29/517939.html

del服務器能裝win7系統嗎,500系列主板能不能裝win7?500系列主板裝win7教程(支持11代)...

今年intel發布了第十一代酷睿cpu&#xff0c;當前有些網友還停留在win7時代&#xff0c;對win7是戀戀不忘&#xff0c;以前經常聽到討論是400系列主板安裝win7的問題&#xff0c;到了2021年我們應該換一個話題&#xff0c;就是500系列主板能安裝win7嗎&#xff1f;小編在這里可…

代碼可讀性心理學

寫在前面的話&#xff1a; 這周末我一個同學在群上說找到一篇挺有意思的文章&#xff08;就是下面要說的可讀性代碼的心理學&#xff09;&#xff0c;說要翻譯出來&#xff0c;我就主動請纓了&#xff0c;跟他合作翻譯這篇文章&#xff0c;在看這篇文章的同時&#xff0c;我突然…