2.Vue的基本语法

1.判断if

html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
<h1 v-if="ok">Yes</h1>
    <h1 v-else>No</h1>
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    var vm=new Vue({
        el:"#app",
        data:{
           ok: true
        }
    });
</script>
</body>
</html>

页面动态 修改为no后的结果

 

 2.else if

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
    <h1 v-if="type==='A'">A</h1>
    <h1 v-else-if="type==='B'">B</h1>
    <h1 v-else>C</h1>
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            type: 'A'
        }
    });
</script>
</body>
</html>

3.for循环

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
   <li v-for="item in items">
       {{item.message}}
   </li>
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            items: [
                {message: '1'},
                {message: '2'},
                {message: '3'},
            ]
        }
    });
</script>
</body>
</html>

4.绑定事件鼠标单击显示嘻嘻

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
   <button v-on:click="sayHi">click me</button>
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            message: "嘻嘻"
        },
        methods:{//方法必须定义在Vue的method对象中
            sayHi: function(){
                alert(this.message);
            }
        }
    });
</script>
</body>
</html>

5.双向绑定

 

 

在视图上改变数据的时候,视图随之变化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
   输入的文本:<input type="text" v-model="message">{{message}}
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            message: "嘻嘻"
        }
    });
</script>
</body>
</html>

 

 

 

 选择男女动态显示选中了谁

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
   性别:
    <input type="radio" name="sex" value="男" v-model="wu"><input type="radio" name="sex" value="女" v-model="wu"><p>
        选中了谁:{{wu}}
    </p>
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            wu: ''
        }
    });
</script>
</body>
</html>

 下拉框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
   <select v-model="selected">
       <option value="" disabled>--请选择--</option>
       <option>--A--</option>
       <option>--B--</option>
       <option>--C--</option>
   </select>
    <span>value:{{selected}}</span>
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            selected: ''
        }
    });
</script>
</body>
</html>

 6.模板组件的使用

使用一个模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
    <hello></hello>
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    //定义一个Vue组件
    Vue.component("hello",{
      template: '<li>Hello</li>'
    })
    var vm = new Vue({
        el: "#app"
    });
</script>
</body>
</html>

绑定组件与信息达到遍历的效果

可以这么理解props是一个形参,用来接受items中的变量,template用来取形参中的值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--view层-->
<div id="app">
<!--使用v-bind去绑定wu和item达到遍历的效果-->
    <hello v-for="item in items" v-bind:wu="item"></hello>
</div>
<!-- 1.导入Vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
    //定义一个Vue组件
    Vue.component("hello", {
        //用于和app绑定
        props: ['wu'],
        //值从props里面取得
        template: '<li>{{wu}}</li>'
    })
    var vm = new Vue({
        el: "#app",
        data:{
            items: ["Java","Linux","前端"]
        }
    });
</script>
</body>
</html>

 

posted @ 2021-06-29 20:56  一拳超人的逆袭  阅读(38)  评论(0)    收藏  举报