2020-12-14 vue 基礎(chǔ)語(yǔ)法

今日內(nèi)容:

0歌粥、前端目前形式

-1、html5拍埠,css3失驶,js(es5,es6):寫一個(gè)一個(gè)的頁(yè)面---》給后端(php枣购,python嬉探,go,Java)---》后端嵌入模板語(yǔ)法---》后端渲染完---》返回給前端---》在瀏覽器中看
-2棉圈、ajax出現(xiàn)---》后臺(tái)發(fā)異步請(qǐng)求涩堤,render+Ajax混合(bbs項(xiàng)目)
-3、但用Ajax(加載數(shù)據(jù)分瘾,dom渲染頁(yè)面):前后端分離的雛形
-4胎围、agular:js框架,前端工程化德召,前端也是一個(gè)工程白魂,一個(gè)項(xiàng)目
-5、react上岗,vue:當(dāng)下最火的兩個(gè)前端框架(vue是國(guó)人寫的福荸,國(guó)人用的多,react外國(guó)用的多)
-6肴掷、移動(dòng)開發(fā)(安卓敬锐,ios)+web(web,微信小程序呆瞻,支付寶小程序)+桌面應(yīng)用開發(fā)(Windows桌面):前端---》大前端台夺,這些都叫前端
-7、一套代碼在各個(gè)平臺(tái)運(yùn)行(前端):谷歌flutter(Dart:跟Java很像):iOS痴脾,安卓颤介,桌面
-8、在vue框架的基礎(chǔ)上nui-app:https://uniapp.dcloud.io/一套代碼編到10個(gè)平臺(tái)明郭,這不是夢(mèng)想买窟。
-9丰泊、在不久的將來薯定,一統(tǒng)天下
-10、內(nèi)卷化

1瞳购、vue介紹和使用

-1话侄、漸進(jìn)式JavaScript:JavaScript的框架(jq),用于構(gòu)建用戶界面的漸進(jìn)式框架。寫簡(jiǎn)單的可以使用vue年堆,寫復(fù)雜的項(xiàng)目也可以使用吞杭。
通過對(duì)框架的了解與運(yùn)用程度,來決定其在整個(gè)項(xiàng)目中的應(yīng)用范圍变丧,最終可以獨(dú)立以框架方式完成整個(gè)web前端項(xiàng)目
vue特點(diǎn):
    -易用:通過HTML芽狗,css,JavaScript構(gòu)建應(yīng)用
    -靈活:不斷繁榮的生態(tài)系統(tǒng)痒蓬,可以在一個(gè)庫(kù)和一套完整框架之間自如伸縮
    -高效:20kb min+gzip運(yùn)行大小童擎,超快虛擬DOM,最省心的優(yōu)化
三大主流框架
三大主流框架之一:Angular React Vue
先進(jìn)的前端設(shè)計(jì)模式:MVVM 可以完全脫離服務(wù)器端攻晒,以前端代碼復(fù)用的方式渲染整個(gè)頁(yè)面:組件化開發(fā)顾复。
-2、MVVM:model-View-ViewModel
    -model:數(shù)據(jù)(后端給的鲁捏,js接收到)
    -ViewModel:中轉(zhuǎn)(雙向數(shù)據(jù)綁定:js中變量變了芯砸,html中數(shù)據(jù)也跟著變)
    -View:視圖(html+css)
-3、組件化開發(fā)给梅,單頁(yè)面開發(fā)
-4假丧、版本:1.x  2.x(用的多)3.x(beta版本)
-5、下載:(可以使用cdn)
    -開發(fā)版本:vue.js :https://vuejs.org/js/vue.js
    -生產(chǎn)本本:vue.min.js :https://vuejs.org/js/vue.min.js
-6破喻、前端開發(fā):webstorm虎谢,sublinetext,vscode(python曹质,Java婴噩,go,前端羽德,免費(fèi))几莽,pycharm
-7、快速使用
見如下代碼
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="box">
    {{name}}
</div>
</body>
<script>
    new Vue({
        el:'#box',  //固定語(yǔ)法宅静,與div做綁定
        data:{
            name:'lqz'
        }
    })
</script>
</html>

2章蚣、模板語(yǔ)法

-1、插值語(yǔ)法:{{ js比那輛或js語(yǔ)法 }}
-2姨夹、代碼演示
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="./js/vue.js"></script>
    <title>Title</title>
</head>
<body>

<div id="box">
    <p>{{name}}</p>
    <p>{{age}}</p>
    <p>{{ll}}</p>
    <p>{{obj}}</p>
    {{10+20+90}}
    {{10<20?'是':'否'}}

</div>

</body>
<script>
    var vm = new Vue({
        el: '#box', //在box這個(gè)div中可以寫vue的語(yǔ)法
        data: {
            name: 'hello world',
            age: 19,
            ll: [1, 2, 3],
            obj: {name: 'lqz', age: 19},
            s: '<a ,

        },
    })

</script>
</html>

3纤垂、指令

3.1 v-html,v-text磷账,v-show峭沦,v-if

-1、標(biāo)簽屬性為v-xx的形式逃糟,是vue的指令
-2吼鱼、常用指令
    v-html:讓html渲染成頁(yè)面
    v-text:標(biāo)簽內(nèi)容顯示js變量對(duì)應(yīng)的值
    v-show:放一個(gè)布爾值蓬豁,為真,標(biāo)簽就顯示菇肃,為假標(biāo)簽就不顯示地粪,為假時(shí)是加了display:none的樣式,把標(biāo)簽隱藏起來了琐谤。
    v-if:放一個(gè)布爾值蟆技,為真,標(biāo)簽就顯示斗忌,為假標(biāo)簽就不顯示付魔,為假時(shí)是直接把標(biāo)簽刪了
-3、v-show和v-if的區(qū)別: v-show標(biāo)簽還在飞蹂,不顯示了几苍,v-if直接操作的dom把標(biāo)簽刪除和加入
-4、代碼顯示
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="./js/vue.js"></script>
    <title>Title</title>
</head>
<body>

<div id="box">
    <p v-html="s"></p>
    <h1>v-text</h1>
    <span v-text="name">我是span標(biāo)簽</span>
    <span>{{name}}</span>
    <hr>
    <h1>v-show</h1>
    <div v-show="isShow">我是div</div>
    <h1>小案例陈哑,控件通過按鈕控制顯示和消失</h1>
    <button @click="handleClick()">點(diǎn)我</button>
    <div v-show="isShow">我是div</div>
    <h1>v-if</h1>
    <div v-if="isShow">我是divdivdiv</div>
</div>

</body>
<script>
    var vm = new Vue({
        el: '#box', //在box這個(gè)div中可以寫vue的語(yǔ)法
        data: {
            name: 'hello world',
            age: 19,
            ll: [1, 2, 3],
            obj: {name: 'lqz', age: 19},
            s: '<a ,
            isShow: true

        },
        methods: {
            handleClick() {
                //this指的是當(dāng)前vue對(duì)象
                this.isShow = !this.isShow
            },
        }
    })

</script>
</html>

3.2事件指令

-1妻坝、點(diǎn)擊事件:給標(biāo)簽(控件)綁定函數(shù),點(diǎn)擊執(zhí)行函數(shù)
-2惊窖、v-on:click  :縮寫成@click
-3刽宪、$event:是個(gè)顯示詳細(xì)坐標(biāo)的事件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="./js/vue.js"></script>
    <title>Title</title>
</head>
<body>


<div id="box">

    <button v-on:click="handleClick">v-on:點(diǎn)我</button>
    <!--用的多-->
    <button @click="handleClick2">@click點(diǎn)我2</button>
    <!--如果不傳參數(shù),沒有大的區(qū)別-->
    <button @click="handleClick2()">點(diǎn)我3帶括號(hào)</button>
    <!--如果要傳參數(shù)-->
    <button @click="handleClick3(100)">點(diǎn)我4帶參數(shù)</button>
    <!--傳入事件  是一個(gè)顯示坐標(biāo)信息的事件-->
    <button @click="handleClick5($event)">點(diǎn)我5帶事件參數(shù)</button>

</div>

</body>
<script>
    new Vue({
        el: '#box', //在box這個(gè)div中可以寫vue的語(yǔ)法
        data: {


        },
        methods: {
            handleClick(){
                console.log('1111')
            },
            handleClick2(){
                console.log('22222')
            },
            handleClick3(a,b){
                console.log(a)
                console.log(b)
            },
            handleClick5(ev){
                console.log(ev)
            }

        }
    })

</script>
</html>

3.3屬性指令

-1界酒、給標(biāo)簽屬性的value綁定成js的變量
-2圣拄、v-bind:class='js變量' 縮寫成 :class='js變量'
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="./js/vue.js"></script>
    <style>
        .red {
            background: red;
        }

        .green {
            background: green;
        }
    </style>
    <title>Title</title>
</head>
<body>
<!--有個(gè)按鈕,有個(gè)div毁欣,點(diǎn)擊按鈕庇谆,div變色-->

<div id="box">
    <!--    <img v-bind:src="url" alt="">-->
    <!--    <img :src="url" alt="" width="60" height="60">-->
    <!--    <div :class="red_class">我的個(gè)divdiv快樂的div</div>-->


    <button @click="handleClick">點(diǎn)我變色</button>
<!--    <div :class="change">-->
    <div :class="isActive?'red':'green'">
        我是一個(gè)div
    </div>

</div>

</body>
<script>
    new Vue({
        el: '#box', //在box這個(gè)div中可以寫vue的語(yǔ)法
        data: {
            url: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1607928733686&di=7c30817eab8f708731b778398be273e3&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20190403%2F6c4dcd970b4b4131bd0929f9e025b1ba.jpeg',
            // red_class: 'red',
            change:'red',
            isActive:true,
        },
        methods: {
            handleClick() {
                // this.change='green'
                this.isActive=!this.isActive
            }
        }
    })

</script>
</html>

4、style和class

-1凭疮、通v-bind控制style和class的顯示
    class 添加多個(gè)屬性的話就是忘列表里家屬性饭耳,但是js里稱為數(shù)組
    // class_obj: 'red', //放一個(gè)是字符串
    // class_obj: ['red'],  //放多個(gè)是數(shù)組
    數(shù)組.push()  從尾部加一個(gè)元素
    數(shù)組.pop()   從尾部彈出一個(gè)元素
    style 添加多個(gè)樣式是往字典里加,js里稱為對(duì)象执解,
    //對(duì)象寫法
        style_obj:{
            background:'yellow',
            fontSize:'30px'
        }
    修改或者增加style的樣式:
    this.style_obj['fontSize']='30px'

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="./js/vue.js"></script>
    <style>
        .red {
            background: red;
        }

        .green {
            background: green;
        }

        .font {
            font-size: 30px;
        }

    </style>
    <title>Title</title>
</head>
<body>

<div id="box">
<!--    <div :class="class_obj" >-->
<!--        我是div控件-->
<!--    </div>-->

    <button @click="handleClick">點(diǎn)擊寞肖,字體變大</button>
    <div  :style="style_obj">
        我是div控件
    </div>

</div>

</body>
<script>
    var vm=new Vue({
        el: '#box', //在box這個(gè)div中可以寫vue的語(yǔ)法
        data: {
            // class_obj: 'red', //放一個(gè)是字符串
            // class_obj: ['red'],  //放多個(gè)是數(shù)組
            //數(shù)組.push()  從尾部加一個(gè)元素
            //數(shù)組.pop()   從尾部彈出一個(gè)元素
            //數(shù)組的其它操作自行搜索

            //對(duì)象寫法
            style_obj:{
                background:'yellow',
                fontSize:'30px'
            }
        },
        methods:{
            handleClick(){
                console.log('asdfasd')
                this.style_obj['fontSize']='30px'
            },
        }

    })

</script>
</html>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市衰腌,隨后出現(xiàn)的幾起案子新蟆,更是在濱河造成了極大的恐慌,老刑警劉巖右蕊,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琼稻,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡尤泽,警方通過查閱死者的電腦和手機(jī)欣簇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坯约,“玉大人熊咽,你說我怎么就攤上這事∧重ぃ” “怎么了横殴?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)卿拴。 經(jīng)常有香客問我衫仑,道長(zhǎng),這世上最難降的妖魔是什么堕花? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任文狱,我火速辦了婚禮,結(jié)果婚禮上缘挽,老公的妹妹穿的比我還像新娘瞄崇。我一直安慰自己,他們只是感情好壕曼,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布苏研。 她就那樣靜靜地躺著,像睡著了一般腮郊。 火紅的嫁衣襯著肌膚如雪摹蘑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天轧飞,我揣著相機(jī)與錄音衅鹿,去河邊找鬼。 笑死过咬,一個(gè)胖子當(dāng)著我的面吹牛塘安,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播援奢,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼兼犯,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了集漾?” 一聲冷哼從身側(cè)響起切黔,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎具篇,沒想到半個(gè)月后纬霞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驱显,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年诗芜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瞳抓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伏恐,死狀恐怖孩哑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情翠桦,我是刑警寧澤横蜒,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站销凑,受9級(jí)特大地震影響丛晌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜斗幼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一澎蛛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜕窿,春花似錦瓶竭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至次询,卻和暖如春荧恍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背屯吊。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工送巡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盒卸。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓骗爆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蔽介。 傳聞我的和親對(duì)象是個(gè)殘疾皇子摘投,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容