Vue高效前端开发-初识Vue

Vue

(读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

以上是百度上说的,花里胡哨的,Vue,简单来说就是一款提供高效的数据绑定和灵活的组件系统,可以让web的开发变得简单。

理论性就不多说了,直接上代码。

接触新语言第一步:Hello,world!

<body>
    <div id="app">
        {{text}}
    </div>
    <script src="js/Vue.js"></script>
    <script>
        new Vue({
            el: "#app",
            data: {
                text: "Hello,world!"
            }
        })
    </script>
</body>

简单的输出hello,world

可以把div看做视图层,而script看做视图模型层

直接看第二个script,首先是创建vue实例,el:“#app”就是将vue实例挂载到id为app的这个元素上,data则指向hello,world这个文本值,也就是vue实例的数据对象,在div里边使用{{}}进行绑定数据,最终实现控制台输出显示

Vue的双向数据绑定

在input,select,text,checkbox,radio等控件上可以使用v-model指令进行数据双向绑定,可以根据控件类型自动选取正确的方法更新元素

<body>
    <!--视图层-->
    <div id="app">
        <p>
            <input type="text" v-model="Msg" placeholder="请输入">
        </p>
        <p>{{Msg}}</p>
    </div>
    <!--视图模型层-->
    <script src="js/Vue.js"></script>
    <script>
        new Vue({
            el: "#app",
            data: {
                Msg: "Hello World!"
            }
        })
    </script>
</body>

效果如图所示:
在这里插入图片描述
如图可以看出,代码中我使用的hello,world,而我在输入框输入了123下面也就变成123,这就是双向数据绑定。在输入框使用的v-model指令可实现。

接下来使用此方法做一个小案例

<body>
    <div id="app" style="text-align:center">
        <fieldset>
            <legend>WelCome to you</legend>
            <p>
                姓:<input type="=text" v-model="xing" placeholder="">
            </p>
            <p>
                名:<input type="=text" v-model="ming" placeholder="">
            </p>
        </fieldset>
        <p>欢迎您:{{xing}}{{ming}}</p>
    </div>
    <script src="js/Vue.js"></script>
    <script>
        new Vue({
            el: "#app",
            data: {
                xing: "",
                ming: "",
            }
        })
    </script>
</body>

实现了姓和名组合。

Vue生命周期函数

1,created()函数,实例建立完成后调用。
2,mounted()函数,el挂载到实例上之后调用。
3,beforeDestroy()函数,实例被销毁之前调用。

下面通过实例演示

<body>
    <div id="add" style="font-size: 2rem;height:50px;width:30%;text-align: center;background-color: blueviolet;">
        <b>{{show}}</b>
    </div>
    <script src="js/Vue.js"></script>
    <script>
        new Vue({
            el: "#add",
            data: {
                show: "",
                str: [
                    "道路交通委提醒您:",
                    "道路千万条",
                    "安全第一条",
                    "行车不规范",
                    "亲人两行泪"
                ]
            },
            created() {
                var _this = this;
                var index = 0;
                setInterval(function() {
                    if (index == _this.str.length) {
                        index = 0;
                    }
                    _this.show = _this.str[index];
                    index++;
                }, 1000);
            }
        })
    </script>
</body>

以上使用了created函数,建立了此页面副本,通过setInterval函数循环调用匿名函数,实现反复循环调用str字符数组的值,实现页面的轮播显示。

Vue过滤器

Vue支持在{{}}的插值的尾部添加一个“|”对数据进行过滤,经常用于格式化文本。
1,全局创建

Vue.filter("过滤器名",function(val){
	过滤语句
})

2,局部创建

        new Vue({
            el: "#add",
            filters: {
                过滤器名: function(val) {
                    过滤语句
                }
            }
        })

例:

<body>
    <div id="add">
        <input type="=text" v-model="Msg" /> {{Msg | MsgFilters}}
    </div>
    <script src="js/Vue.js"></script>
    <script>
        new Vue({
            el: "#add",
            data: {
                Msg: "123123123"
            },
            filters: {
                MsgFilters: function(val) {
                    if (val.indexOf("1") != -1) {
                        val = val.replaceAll("1", "*");
                    }
                    return val;
                }
            }
        })
    </script>
</body>

以上案例实现了对输入的语句进行过滤,可用于过滤违禁字符。

假设1是违禁字符,判断它是否存在在语句中,如果在就进行替换为*,并且初始了123123123用于测试。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PROBIE_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值