vue.js使用总结

Vue.js简介:
Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件
Vue.js的核心库只关注视图层


vue.js的实例化
实例化vue.js对象的方式:通过vue的构造器new Vue({options})
获取对象的相关数据可以通过.来实现,如果想要获取options的数据比如el,data,methods,filters等就需要添加前缀$比如:vuetest.#el


Vue.js主要指令:
1>.v-bind数据绑定
//通用html模板
<div id="demo1">
    <div v-bind:class="vuecls">{{ message }}</div>
</div>
<script src="js/vue.min.js"></script>
<script>
    var test = new Vue({
        el: "#demo1",
        data: {
            message: "hello vue.js",
            vuecls: "cls1"
        }
    });
</script>

上面等同于:
<div id="demo1">
    <div class="cls1">hello vue.js</div>
</div>
v-bind也可以简写成引号:
v-bind:style可以动态设置指定的样式值
<div v-bind:style="{color: vuecolor}">初使用</div>


2>.v-model数据双向绑定
<div id="demo1">
    <p>{{ message }}</p>
    <input type="text" v-model="message" />
</div>
<script src="js/vue.min.js"></script>
<script>
    var test = new Vue({
        el: "#demo1",
        data: {
            message: "hello vue.js"
        }
    });
</script>
当在input输入框里面改变原始数据时,p标签的内容也响应随着改变;
同样,在控制台通过test.message来改变时,他们也会进行改变,
从而实现数据的双向绑定
v-model可以添加指定后缀,用于修改相关操作
1.v-model.lazy: 可以指定双向绑定发生在change事件,而双向绑定默认发生在keyup事件中

2.v-model.number:可以自动将用户输入的数据转换成数字类型,通常用在number的input输入框

3.v-model.trim: 可以自动过滤掉输入的字符串两边的空格


3>.v-html用于输出html格式语句
<div id="demo1" v-html="message"></div>
<script src="js/vue.min.js"></script>
<script>
    var vue1 = new Vue({
        el: "#demo1",
        data: {
            message: :"<h1>你好Vue</h1>"
        }
    });
</script>

等同于:
<div id="demo1">
    <h1>你好Vue</h1>
</div>


4>.v-if指定性显示
<div id="demo1">
    <p v-if="seen">hello</p>
    <p v-else-if="seen2">hello2</p>
    <p v-else>你好</p>
</div>
<script src="js/vue.min.js"></script>
<script>
    var test = new Vue({
        el: "#demo1",
        data: {
            seen: false,
            seen1: true
        }
    });
</script>

最终显示的数据为hello2,v-if为true才会生成对应的dom元素进行显示


5>.v-on绑定对应的事件
<div id="demo1" v-on:click="vuecli">点我试试</div>
<script src="js/vue.min.js"></script>
<script>
    var test = new Vue({
        el: "#demo1",
        methods: {
            vuecli: function(){
                alert("你点击我");
            }
        }
    });
</script>

当对demo1进行点击时,会弹出对应的会话

v-on指令可以简写成@
6>.v-show指定显示对应的元素
v-show指令的作用效果和v-if相同,不过实现的原理是不同的,v-if当为false时根本就不会生成对应的dom元素,而v-show不管为true/false,都会生成对应的dom元素,只是当为false时,该元素的display设置为none


7>.v-for迭代数据
<div id="demo1">
    <ol>
        #1.迭代数组
        <li v-for="site in sites">{{ site.name }}</li>
        #2.迭代对象
        <li v-for="val in vueobj">{{ val }}</li>
        #3.迭代键值对数据,这里需要注意的是键在后,值在前
        <li v-for="(val, key) in vueobj">{{key}} in {{val}}</li>
        #4.迭代键值对数据也可以添加迭代的索引
        <li v-for="(val, key, index) in vueobj">{{key}} in {{val}} at {{index}}</li>
        #5.直接迭代整数类型数据
        <li v-for="n in 10">{{n}}</li>
    </ol>
</div>
<script src="js/vue.min.js"></script>
<script>
    var test = new Vue({
        el: "#demo1",
        data: {
            sites: [
                {name: "name1"},
                {name: "name2"},
                {name: "name3"}
            ],
            vueobj: {
                name: "成兮",
                age: 20,
                sex: "男"
            }
        }
    });
</script>



filter过滤器的使用
过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数.filter过滤器的使用实例
<div id="demo1">
    {{ message | captiontest}}
</div>
<script src="js/vue.min.js"></script>
<script>
    var test = new Vue({
        el: "#demo1",
        data: {
            message: "hellovue",
        },
        filter: {
            captiontest: function(val){
                return val.split("").reverse().join("");
            }
        }
    });
</script>

在div中显示的数据为hellovue的反转值:euvolleh
也可以在{{…}}中直接对数据进行操作,比如{{ message.split(”).reverse().join(”)}};


vue.js自定义组件
自定义组件包括局部组件和全局组件,全局组件只需要注册就可以在任何vue实例中使用,而局部组件在需要使用的实例中注册即可
全局组件使用实例:
<div id="demo1">
    <comp1></comp1>
</div>
<script src="js/vue.min.js"></script>
<script>
    //注册组件
    Vue.component('comp1',{
        template: "<h1>component test</h1>"
    });
    var test = new Vue({
        el: "#demo1"
    });
</script>

局部组件使用实例:
<div id="demo1">
    <comp1></comp1>
</div>
<script src="js/vue.min.js"></script>
<script>
    var test = new Vue({
        el: "#demo1",
        components: {
            'comp1': {
                template: "<h1>component test</h1>"
            }
        }
    });
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值