Vue.js小案例(1)

数据绑定

数据绑定是vue.js的基础。本例中就是利用了vue.js的v-model指令在表单元素上创建双向数据绑定。

<!--这是我们的View-->
<div id="app">
    <p>{{ message }}</p>
    <input type="text" v-model="message"/>
</div>

<script>
    // 这是我们的Model
    new Vue({
        el: '#app',
        data: {
            message:'Hello World!'
        }
    })
</script>

将message绑定到文本框,当更改文本框的值时,

<p>{{ message }}</p>
中的内容也会被更新。

导航切换

这里主要应用了vue.js的v-for指令来渲染一个列表、v-bind指令来绑定class以及v-on指令来处理事件

1这是HTML代码 

<div id="main"> 2 <nav @click.prevent> 3 <a v-for="item in items" :class="{'show': item.active}" @click="makeActive(item, $index)">{{item.name}}</a> 4 </nav> 5 <p>You chose <b>{{active}}</b></p> 6 </div>

css代码:

 1 *{
 2     margin:0;
 3     padding:0;
 4 }
 5 #main{
 6     width:432px;
 7     margin:0 auto;
 8     text-align:center;
 9 }
10 nav{
11     display:inline-block;
12     margin:60px auto 45px;
13     background-color:#5597b4;
14     box-shadow:0 1px 1px #ccc;
15     border-radius:2px;
16 }
17 nav a{
18     display:inline-block;
19     padding: 18px 30px;
20     color:#fff !important;
21     font-weight:bold;
22     font-size:16px;
23     text-decoration:none !important;
24     line-height:1;
25     background-color:transparent;
26     -webkit-transition:background-color 0.25s;
27     -moz-transition:background-color 0.25s;
28     transition:background-color 0.25s;
29     cursor:pointer;
30 }
31 b{
32     display:inline-block;
33     padding:5px 10px;
34     background-color:#c4d7e0;
35     border-radius:2px;
36     font-size:18px;
37 }
38 .show{
39     background-color:#e35885;
40 }

JS代码:

var vm = new Vue({
    el:'#main',
    data:{
        active:'HTML',
        items:[
            {name:'HTML', active:true},
            {name:'CSS', active:false},
            {name:'JavaScript', active:false},
            {name:'Vue.js', active:false}
        ]
    },
    methods: {
        makeActive: function(item, index){
            this.active = item.name;
            for(var i=0; i<this.items.length;i++){
                this.items[i].active = false;
            }
            this.items[index].active = true;
        }
    }
});

你们快试试吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值