美文网首页
1. Vue基本语法

1. Vue基本语法

作者: 月影追猎者 | 来源:发表于2019-10-30 11:17 被阅读0次
    <head>
        <!-- 导入vue -->
        <script src="vue.js"></script>
    </head>
    <body>
        <div id="app"></div>
        <script>
            // 创建vue实例
            // 导入vue包后,浏览器内存中增加vue构造函数
            var vm = new Vue({
                el: '#app', // el表示当前Vue实例控制的页面区域
                data: {
                    msg: 数据
                }
            })
        </script>
    </body>
    

    插值表达式

    <div id="app">{{msg}}</div>
    

    文本渲染

    <!-- 指令保持在元素上直到关联实例结束编译,可以解决插值表达式闪烁的问题 -->
    <div v-cloak>{{msg}}</div>
    <!-- 更新元素innerText -->
    <div v-text="msg"></div>
    <!-- 更新元素innerHtml -->
    <div v-html="msg"></div>
    

    属性绑定

    <!-- v-bind,Vue的属性绑定机制,可简写为 : ,允许写js表达式 -->
    <div v-bind:title="attr"></div>
    <div :title="attr"></div>
    
    var vm = new Vue({
        el: '#app', // el表示当前Vue实例控制的页面区域
        data: {
            key: value
        }
    })
    

    事件绑定

    <!-- v-on, Vue的事件绑定机制,可简写为 @ -->
    <input type="button" v-on:click="method">
    
    var vm = new Vue({
        el: '#app', // el表示当前Vue实例控制的页面区域
        data: {
        },
        methods: { // 定义当前Vue实例可用方法
            method: function() {
            }
        }
    })
    

    练习:文字走马灯效果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Vue Demo</title>
        <script src="vue.js"></script>
    </head>
    <body>
        <div id="app">
            {{msg}}
            <div>
                <input type="button" value="运行" @click="run">
                <input type="button" value="停止" @click="stop">
            </div>
        </div>
        <script>
            new Vue({
                el: '#app',
                data: {
                    msg: "文字走马灯效果",
                    timer: null // 声明变量,保存定时器id
                },
                methods: {
                    run() {
                        // 当定时器id为空时,执行定时器
                        if (this.timer == null) {
                            this.timer = setInterval( () => {
                                let start = this.msg.substring(0, 1)
                                let end = this.msg.substring(1)
                                this.msg = end + start
                            }, 500)
                        }
                    },
                    stop() {
                        clearInterval(this.timer)
                        this.timer = null // 清空定时器id
                    }
                }
            })
        </script>
    </body>
    </html>
    

    流程:

    1. 在按钮上绑定一个点击事件
    2. 事件处理函数中,获取msg字符串,截取后重新拼接
      注意:在VM实例中,获取data的属性或methods的方法,必须通过this.属性或this.方法进行访问。只需要关心数据,不需要考虑重新渲染DOM。
    3. 定义一个定时器

    相关文章

      网友评论

          本文标题:1. Vue基本语法

          本文链接:https://www.haomeiwen.com/subject/mnrgvctx.html