vue快速入门知识点(一)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div id="app">
            <my-footer></my-footer>
            <my-footer></my-footer>
            <my-footer></my-footer>
            {{ message }}
        </div>

        <hr/>

        <div id="app2">
            <span>声明周期</span>
        </div>

        <hr/>

        <div id="app3">
            <ol>
                <hello v-for="item in arr" v-bind:todo="item"></hello>
            </ol>
        </div>

        <hr/>

        <div id="app4">
            {{ text }}
            {{ 6 + 6 }}
            <!-- 把属性值渲染到标签内部 -->
            <p v-text="text"></p>
            <!-- 把属性值为标签字符串解析成标签,并渲染 -->
            <div v-html="html"></div>
        </div>

        <hr/>

        <div id="app5">
            {{ message }}
            <button v-on:click="reverseMessage">反转效果</button>
        </div>

        <hr/>

        <div id="app6">
            {{ text }}
            <input type="text" name="" id="" v-model="text">
        </div>

        <hr/>

        <div id="app7">
            {{ 2 + 2 }}
            <br/>
            Tom, what do you want eat for dinner? {{ eat ? 'Pize' : 'Chiken' }}

        </div>

        <hr/>

        <div id="app8">
            <p v-if="isShow">See you tomorrow</p>
            <button v-on:click="isShow = !isShow">Goodbye</button>
        </div>

        <hr/>

        <script src="vue2.js"></script>
        <script>

            /**
             * v-if
             * 判断指令
             * 一般用于对DOM的增删
             * */
            new Vue({
                el: '#app8',
                data: {
                    isShow: true
                }
            });
            /**
             * vue的表达式
             * 支持运算符的操作
             * 支持三目运算符
             * 不支持语句和控制流
             * */
            new Vue({
                el: '#app7',
                data: {
                    eat: false
                }
            });

            /**
             * v-model
             * 数据的双向绑定
             * */
            new Vue({
                el: '#app6',
                data: {
                    text: 'I am Tom'
                }
            });


            /**
             * 事件绑定
             * v-on 绑定事件监听器
             * */
            new Vue({
                el: '#app5',
                data: {
                    message: 'hello world'
                },
                methods: {
                    reverseMessage: function () {
                        this.message = this.message.split('').reverse().join('')
                    }
                }
            });


            /**
             * 模板渲染
             * data 可以通过模板渲染,使用{{}}渲染
             * */
            new Vue({
                el: '#app4',
                data: {
                    text: '你好啊',
                    html: '<h5>HTML的h5</h5>'
                }
            });

            /**
             * 组件的注册,分为全局注册和局部注册
             * 组件中的属性data必须使用函数,避免被引用赋值
             * */
            // 全局注册

            Vue.component('hello', {
                props: ['todo'],
                template: '<li>My name is {{ name }}, I like {{ todo.text }}</li>',
                data: function () {
                    return {
                        name: 'Tom'
                    };
                }
            });

            // 局部注册

            var MyFooterChild = {
                template: '<h4>我是底部的h1里面的h4</h4>'
            }

            var MyFooter = {
                template: '<h1>我是底部的h1</h1>',
                // 组件的底部的嵌套
                components: {
                    'my-footer-child': MyFooterChild
                }
            }

            /**
             * v-for
             * 循环遍历data中提供的数组,渲染DOM
             * 一般用于制作列表
             * */
            new Vue({
                el: '#app3',
                data: {
                    arr: [
                        {text: '电影'},
                        {text: '游泳'},
                        {text: '玩游戏'}
                    ]
                }
            });


            /**
             * 声明周期
             * */
            var app2 = new Vue({
                el: '#app2',
                created: function () {
                    console.log('已创建');
                },
                mounted: function () {
                    console.log('已挂载');
                }
            });


            /**
             * 基本结构
             * */

            var app = new Vue({
                el: '#app',
                data: {
                    message: 'hello world'
                },

    //            template: '<h1>我是h1</h1>',
                components: {
                    'my-footer': MyFooter
                }
            });




        </script>
    </body>
    </html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值