vue学习笔记

这篇博客记录了作者作为前端新手学习Vue.js的过程,初步接触并整理了Vue的基础知识,包括实操经验。作者认为Vue.js相对简单,并计划随着学习深入不断更新笔记。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue学习笔记,vue属于前端,而我前端很弱,刚开始学习vue.js,还没有深入的学习,只接触了一些基础的东西,发现vue.js还是比较简单的,把实操的整理一下,后面学习深入了再继续更新。写了几个文件,全是vue基础。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>第一节</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>

<div id="app">
    <p>{{ message }}</p>
</div>

<div id="vue_det">
    <h1>site:{{site}}</h1>
    <h1>url:{{url}}</h1>
    <h1>{{details()}}</h1>
</div>

<div id="app2">
    <div v-html="msg"></div>
</div>

<script>
    new Vue({
        el: '#app',
        data: {
            message: 'Hello Vue.js!'
        }
    })
</script>

<script type="text/javascript">
    var data = {site: "第一章",url: "www.10yhq.com",alexa: "10000"}
    var vm = new Vue({
        el:"#vue_det",
        data: data,
        methods:{
            details: function () {
             return this.site + "--领的不是优惠,更是梦想";
            }
        }
    })
    document.write(vm.$data === data) // true
    document.write("<br>")
    document.write(vm.$el === document.getElementById('vue_det')) // true
</script>

<script type="text/javascript">
    new Vue({
        el:"#app2",
        data:{
            msg:'<h1>hello rjw</h1>'
        }
    })
</script>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>第二节</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<style>
    .class1{
        background: #eeeeee;
        color: red;
    }
</style>
<body>

<div id="app">
    <label for="r1">改颜色</label>
    <input type="checkbox" v-model="class1" id = "r1"/>
    <br><br>
    <div v-bind:class="{'class1':class1}">
        v-bind:class 指令
    </div>
</div>

<div id="app2">
    {{5+5}}<br>
    {{ ok ? 'yes' : 'no' }}<br>
    {{ message.split('').reverse().join('') }}
    <div v-bind:id="'list-' + id">RJWRJW</div>
</div>

<div id="app3">
    <p v-if="seen1">显示文本</p>
    <p v-if="seen2">隐藏文本</p>
</div>

<div id="app4">
    <pre><h1><a v-bind:href="url">要领优惠券</a></h1></pre>
</div>

<div>
    <h1>双向数据绑定</h1>
    <div id="app5">
        <p>{{message}}</p>
        <input v-model="message"/>
    </div>
</div>

<div id="app6">
    <p>{{msg}}</p>
    <button v-on:click="resmessage">翻转字符串</button>
</div>

<div id="app7">
    {{message|res}}<br>
    {{num1|add(20,num2)}}
</div>

<script type="text/javascript">
    new Vue({
        el:"#app",
        data:{
            class1:false
        }
    })
</script>

<script type="text/javascript">
    new Vue({
        el:"#app2",
        data:{
            ok:true,
            message:"rjwrjw",
            id:1
        }
    })
</script>

<script>
    new Vue({
        el:"#app3",
        data:{
            seen1:true,
            seen2:false
        }
    })
</script>

<script>
    new Vue({
        el:"#app4",
        data:{
            url:"http://www.10yhq.com",
        }
    })
</script>

<script>
    new Vue({
        el:"#app5",
        data:{
            message: "rjwrjw"
        }
    })
</script>

<script>
    new Vue({
        el:"#app6",
        data:{
            msg:"hello rjw",
        },
        methods:{
            resmessage:function () {
                this.msg = this.msg.split('').reverse().join('')
            }
        }
    })
</script>

<script>
    new Vue({
        el:"#app7",
        data:{
            message:"rjwrjw",
            num1:30,
            num2:50,
        },
        filters:{
            res:function (value) {
                if (!value) return ''
                value = value.toString()
                return value.charAt(0).toUpperCase() + value.slice(1)
            },
            add:function (num1,num2,num3) {
                return num1+num2+num3
            }
        }
    })
</script>

</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>第三节</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
    <p v-if="seen1">seen1为true则显示,seen1为false则隐藏</p>
    <template v-if="seen2">
        <h1>seen1为true则显示,seen1为false则隐藏</h1>
        <p>显示</p>
        <p>隐藏</p>
    </template>
</div>

<div id="app1">
    <div v-if="Math.random() > 0.5">
        sorry
    </div>
    <div v-else>
        not sorry
    </div>
</div>

<div id="app2">
    <div v-if="type === 'A'">A</div>
    <div v-else-if="type === 'B'">B</div>
    <div v-else-if="type === 'C'">C</div>
    <div v-else>not A,B,C</div>
</div>

<div id="app3">
    <div v-show="is_show">是否展示</div>
</div>

<script>
    new Vue({
        el: '#app',
        data: {
            seen1: true,
            seen2:true
        }
    })
</script>

<script>
    new Vue({
        el:"#app1"
    })
</script>

<script>
    new Vue({
        el:"#app2",
        data: {
            type:"C"
        }
    })
</script>

<script>
    new Vue({
        el:"#app3",
        data:{
            is_show:true
        }
    })
</script>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>第四节</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>

<div id="app">
    <ol>
        <li v-for="site in sites">
            {{site.name}}
        </li>
    </ol>
</div>

<div id="app2">
    <ul>
        <template v-for="site in sites">
            <li>{{site.name}}</li>
            <li>------</li>
        </template>
    </ul>
</div>

<div id="app3">
    <ul>
        <template v-for="value in object">
            <li>{{value}}</li>
        </template>
    </ul>
</div>

<div id="app4">
    <ul>
        <template v-for="(value,key,index) in object">
            <li>{{ index }}. {{ key }} : {{ value }}</li>
        </template>
    </ul>
</div>

<div id="app5">
    <ul>
        <li v-for="n in 10">
            {{ n }}
        </li>
    </ul>
</div>

<script>
    new Vue({
        el:"#app",
        data:{
            sites:[
                {name:'百度'},
                {name:'谷歌'},
                {name:'阿里'},
                {name:'腾讯'},
            ]
        }
    })
</script>

<script>
    new Vue({
        el:"#app2",
        data:{
            sites:[
                {name:'百度'},
                {name:'谷歌'},
                {name:'阿里'},
                {name:'腾讯'},
            ]
        }
    })
</script>

<script>
    new Vue({
        el:"#app3",
        data:{
            object:{
                name:'要领优惠券',
                url:"http://www.10yhq.com",
                text:"领的不仅是优惠,更是实惠"
            }
        }
    })
</script>

<script>
    new Vue({
        el:"#app4",
        data:{
            object:{
                name:'要领优惠券',
                url:"http://www.10yhq.com",
                text:"领的不仅是优惠,更是实惠"
            }
        }
    })
</script>

<script>
    new Vue({
        el:"#app5"
    })
</script>

</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值