Vue(二)、Vue基本代碼

1、Vue基本代碼和MVVM之間的對應關係

1.1 基本代碼結構 和 插值表達式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- 1.導入Vue的包 -->
    <script src="./lib/vue-2.4.0.js"></script>
</head>
<body>
    <!-- 將來 new 的Vue實例,會控制這個 元素中的所有內容 -->
    <!-- view層 -->
    <div id="app">
        <p>{{ msg }}</p>
    </div>
    <script>
        // 2.創建一個Vue的實例
        // 當我們導入包之後,在瀏覽器的內存中,就多了一個 Vue 構造函數
        // VM調度層
        var vm = new Vue({
            el: '#app', // 表示,當前我們 new 的這個 Vue 實例,要控制頁面上的哪個實例
            // Model層
            data:{ // data 屬性中,存放的是 el 中要用到的數據
                msg: '歡迎學習Vue' // 通過 Vue 提供的指令,很方便的就能把數據渲染到頁面上,不再需要操作DOM元素了【前端Vue之類的框架,不再提倡手動操作DOM元素】
            }
        })
    </script>
</body>
</html>

1.2 v-cloak、v-text和v-html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        [v-cloak]{
            /* display: none; */
        }
    </style>
</head>
<body>
    <div class="app">
        <!-- 使用 v-cloak 能夠解決 插值表達式閃爍的問題 -->
        <p v-cloak>+++++{{ msg }}++++</p>
        <!-- 默認v-text是沒有閃爍問題的 -->
        <!-- v-text 會覆蓋元素中原本的內容,但是 插值表達式 只會替換自己的這個佔位符,不會把整個元素的內容清空 -->
        <h4 v-text="msg">============</h4>
        
        <div>{{ msg2 }}</div>
        <div v-text="msg2"></div>
        <div v-html="msg2">123</div>
    </div>

    <script src="./lib/vue-2.4.0.js"></script>

    <script>
        var vm = new Vue({
            el: '.app',
            data:{
                msg:'123',
                msg2:'<h1>這麼大的h1,你看到了嗎</h1>'
            }
        })
    </script>

    <!--使用http運行,vscode需要安裝Express-->
</body>
</html>

1.3 v-bind的三種用法

var vm = new Vue({
	el: '.app',
	data:{
		msg:'123',
        msg2:'<h1>這麼大的h1,你看到了嗎</h1>',
        mytitle:'自定義title'
	}
})
  1. 直接使用指令v-bind
<input type="button" value="按鈕1" v-bind:title="mytitle"/>
  1. 使用簡化指令:
<input type="button" value="按鈕2" :title="mytitle"/>
  1. 在綁定的時候,拼接綁定內容::title="btnTitle + ', 這是追加的內容'"
<input type="button" value="按鈕3" :title="mytitle + '123'"/>

1.4 v-on指令定義Vue事件

        var vm = new Vue({
            el: '.app',
            data:{
                msg:'123',
                msg2:'<h1>這麼大的h1,你看到了嗎</h1>',
                mytitle:'自定義title'
            },
            methods:{
                show:function(){
                    alert('Hello');
                }
            }
        })
<!-- Vue 中提供了 v-on:事件綁定機制 -->
<input  type="button" value="按鈕4" v-on:mouseover="show"/>
<input  type="button" value="按鈕5" @mouseover="show"/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章