1. 程式人生 > >vue基礎課堂一

vue基礎課堂一

實例 javascrip json 對象 括號 事件 關於 軟件工程 web

1、實例化vue,根元素,數據存儲,方法的定義,數據的綁定

el: element 需要獲取的元素,一定是html中存在的根容器元素
data:用於數據的存儲,可以是字符串、數組、json等等數據
methods:vue當中寫方法的時候用的屬性, 在html中調用的時候寫《方法名稱()》就可以了
v-bind v-html的使用方法,data-binding來綁定屬性的值 例如website,websiteTag
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue學習第一課堂</title>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <link rel="stylesheet" href="style.css" />
</head>
<body>
    <!---vue-app是根容器-->
    <div id="vue-app">
        <h2>{{greet(name)}}</h2>
        <p>姓名:{{name}}</p> <!--vue中的模板的語法用花括號括起來-->
        <p>職位:{{job}}</p>
        <p>a標簽中關於v-bind的使用方法:<a v-bind:href="website">我的個人博客</a> </p>
        <p>在input元素中v-bind的使用方法<input type="text" v-bind:value="name" /> </p>
        v-html的使用方法
        <p v-html="websiteTag"></p>
    </div>
    <script type="text/javascript" src="app.js"></script>
</body>
</html>
腳本部分
//實例化vue對象 new Vue({ el:"#vue-app", data:{ name:"張三", job:"軟件工程師", website:"http://www.baidu.com", websiteTag:"<a href=‘http://www.baidu.com‘>百度</a>" }, methods:{ greet:function (name) { return "早上好"+name+"!" +this.job; } } });

2、Vue中事件的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>在Vue中使用事件</title>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div id="event">
        <h3>通過直接在事件中更改屬性值的方式操作,但是實際項目中一般不怎麽用 v-on還可以用@來代表</h3>
        <button @click="count++">增加購買數量</button>
        <button @click="count--">減少購買數量</button>
        <p>我要購買數量{{count}}</p>
        <hr>
        <h2>通過調用方法的方式更改屬性值,用花括號調用方法的時候加括號(),在事件中調用方法加不加括弧()都可以</h2>
        <button v-on:click="add">增加數量</button>
        <button v-on:click="subtract">減少數量</button>
        <button v-on:dblclick="add()">雙擊增加</button>
        <button v-on:dblclick="subtract()">雙擊減少</button>
        <button v-on:dblclick.once="subtract()">雙擊減少只能點擊一次</button>
        <p>我要操作的數量:{{record}}</p>
        <div id="canvas" v-on:mousemove="updateXY">x:{{x}},y:{{y}}</div>
        <h2>事件修飾符 </h2>
        <a @click.prevent="" href="http://www.baidu.com">百度</a>
    </div>

    <script type="text/javascript" src="event.js"></script>

</body>
</html>
//實例化vue
new Vue({
    el:"#event",
    data:{
        count:10,
        record:100,
        x:0,
        y:0
    },
    methods:{
        add:function () {
            this.record++;
        },
        subtract:function () {
            this.record--;
        },
        updateXY:function (event) {
            //console.log(event);
            this.x=event.offsetX;
            this.y=event.offsetY;
        }
    }
})

3、計算屬性,computed

methods方法會調用哪個方法,其他方法跟著全部執行
computed的調用哪個方法,執行哪個方法,調用的時候不能使用括弧
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>計算屬性</title>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
    <div id="vue-app">

        <button v-on:click="a++">Add to A</button>
        <button v-on:click="b++">Add to B</button>
        <p>Age - {{a}}</p>
        <p>Age - {{b}}</p>
        <p>Age + A = {{AddtoA}}</p>
        <p>Age + B = {{AddtoB}}</p>
    </div>
    <script type="text/javascript" src="computed.js"></script>
</body>
</html>

//腳本部分
new Vue({ el:"#vue-app", data:{ a:0, b:0, age:20 }, methods:{ /* methods方法會調用哪個方法,其他方法跟著全部執行 AddtoA:function () { console.log("Add to a"); return this.age+this.a; }, AddtoB:function () { console.log("Add to b"); return this.age+this.b; } */ }, computed:{ //computed的調用哪個方法,執行哪個方法,調用的時候不能使用括弧 AddtoA:function () { console.log("Add to a"); return this.age+this.a; }, AddtoB:function () { console.log("Add to b"); return this.age+this.b; } } })

  

vue基礎課堂一