vue.js权威指南----代码解释实例

1:P61(值绑定)

<input type="checkbox" v-model="toggle" :true-value="a" :false-value="b"/>
    <span>{{toggle}}</span>
</div>

对应的js

var example = new Vue({
        el:'#example',
        data: {
            toggle: '',
            a:'aaa',
            b:'bbb'
        }
    });

效果选中状态:

2:P74 过滤器 filter语法

js代码:

var example = new Vue({
        el:'#example',
        data: {
            message: 'hello'
        },
        filters:{
            reserve:function(value,begin,end){
                return value+begin+end;
            }
        }
    });

相应的html

<span>{{ message | reserve('arg1', 'arg2') }}</span>

显示效果为: helloarg1arg2

但是按照书中的例子出不来效果;P76双向过滤器出不来该效果:

<div id="example">
    <p>{{message}}</p>
    <input type="text" v-model="message | filterExample"/>
</div>

js

Vue.filter('filterExample',{
        read:function(val){
            return 'read'+val;
        },
        write: function(newval,oldval){
            return oldval+'write';
        }

    });
    var example = new Vue({
        el:'#example',
        data: {
            message: 'hello'
        }
        
    });

 P96 methods配置:html:

<div id="example">
    <p>{{message}}</p>
    <button class="mybox" v-on:click="green"></button> 
</div>

对应的js代码:

var example = new Vue({
        el:'#example',
        data: {
            message: 'hello'
        },
        methods:{
            green:function(event){//注意这里的event和target的使用方法
                $(event.target).css('background','green');//使用$()形成                               jquery对象
            }
        }
        
    });

 P98 prevent阻止默认事件,stop阻止冒泡事件:

<div id="example">
    <a v-on:click.stop.prevent="doThat" href="http://www.baidu.com">链接</a>
</div>

js代码:

var example = new Vue({
        el:'#example',
        data: {
            message: 'hello'
        },
        methods:{
            green:function(event){
                $(event.target).css('background','green');
            },
            doThat:function(){
                alert('nihao');
            }
        } 
    });

效果:点击链接后不会跳转,而是执行doThat函数,出现alert警告。

P108 要注意组件的名称:

var ddComponent=Vue.extend({
        template:'<p>this is a template</p>'
    });
    Vue.component('didi-component',ddComponent);
    var example = new Vue({
        el:'#example',
        data: {
            message: 'hello'
        }
    });

这里组件didi-component的名字还可以写成component,但注意不要写成didiComponent的驼峰式写法

相应的html为:

<div id="example">
    <didi-component></didi-component>
</div>

 

posted @ 2017-02-15 11:34  小猪冒泡  阅读(1304)  评论(0编辑  收藏  举报