Vue-1

1.引入Vue

<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>



<!-- 生产环境版本,优化了尺寸和速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>

声明式渲染

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    {{ message }}
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            message: 'Hello Vue!'
        }
    })
</script>
</body>
</html>

 绑定事件 v-bind

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app-2">
<!--title本身的属性就是鼠标停留标签内容几秒显示message,通过v-bind将var中message内容绑定在标签内容上-->
    <span v-bind:title="message">  // v-bind 绑定事件指令
        鼠标悬停几秒显示此处动态绑定的提示信息!
    </span>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app2 = new Vue({
        el: '#app-2',
        data: {
            message: '页面加载于 ' + new Date().toLocaleString()
        }
    })
</script>
</body>
</html>

条件判断 v-if

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app-3">
    <span v-if="seen">  // v-if 判断是指令,seen是true就展示,false就不展示
        看到我了!
    </span>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app3 = new Vue({
        el: "#app-3",
        data: {
            seen: true
        }
    })
</script>
</body>
</html>
复制代码

循环 v-for

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app-4">
    <ol>
        <li v-for="todo in todos">   //  in todos是固定搭配,todo可以改变。
            {{todo.text}}
        </li>
    </ol>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app4 = new Vue({
        el: "#app-4",
        data: {
            todos: [
                {"text": "西瓜"},
                {"text": "苹果"},
                {"text": "西红柿"}
            ]
        }
    })
</script>
</body>
</html>

事件监听 v-on

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app-5">
    <p>
        {{message}}
    </p>
    <button v-on:click="reverseMessage">反转信息</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app5 = new Vue({
        el: "#app-5",
        data: {
            message: "Hello Vue!"
        },
        methods: {
            reverseMessage: function () {
                this.message = this.message.split('').reverse().join('')
            }
        }
    })
</script>
</body>
</html>

监听输入框 v-model

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app-6">
    <p>
        {{message}}
    </p>
    <input type="text" v-model="message">
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    var app6 = new Vue({
        el: "#app-6",
        data: {
            message: "Hello Vue!"
        }
    })
</script>
</body>
</html>
原文地址:https://www.cnblogs.com/hudaxian/p/13829347.html