资讯专栏INFORMATION COLUMN

vue.js快速入门

dantezhao / 443人阅读

摘要:的核心库只关注视图层,并且非常容易学习,同时拥有非常容易上手的中英文都有提供快速入门准备地址地址没错就只需要这两个就可以开发了是核心文件,在这里只是为了提高开发效率而引用的,是可选的。专门存储一些数据的属性,数据一定是对象格式。

**关于前阵子的文章错误有点多所以从新修改了并添加了一些在官方脚手架vue-cli开发时需要注意的事项,
Vue.js是一个轻巧、高性能、可组件化的MVVM库。Vue 的核心库只关注视图层,并且非常容易学习,同时拥有非常容易上手的API(中英文都有提供)**

Vue快速入门

准备:

Vue.js 地址:http://cn.vuejs.org/

Bootstrap.js 地址:http://v3.bootcss.com/getting...

没错就只需要这两个就可以开发了
vue是核心文件,bootstrap在这里只是为了提高开发效率而引用的,是可选的。
现在建个html文件引入刚下载好的两个文件这里我们只需要引用bootstrap的css样式文件即可,现在是这样的:

示例




    
    Document
    


    

Vue demo

.......

现在我们来先看段代码:

{{message}}
new Vue({ el:"#app", data: { message:"hello vue.js." } });

这个例子在浏览器解析时会输出hello vue.js。

我们先不管为什么,我们先理解他的逻辑。
在这个例子里我们的

{{message}}

就是视图层,而

new Vue({
    el:"#app",
    data: {
        message:"hello vue.js."
    }
});

就是数据层,在使用Vue.js之前,我们都需要先像这样实例化一个Vue对象。
里面有四个常用的属性,el、data、methods、components。

el:声明vuejs管理的边界,类似于angular的ng-app,把数据绑定给谁。
上面的例子中将数据绑定给了#app。

data:专门存储一些数据的属性,数据一定是对象格式。
上面的例子中给message赋值hello vue.js!

methods:专门放置我们的事件的方法

components:创建组件

回到上面的例子el指定了#app,data存放了数据message,然后利用表达式{{}}将数据显示到页面。

接下来再看个例子:

{{ message }}

new Vue({ el: "#app", data: { message: "Hello Vue!" } })

这里用到了新的指令v-model,其作用就是接收用户输入的一些数据,直接就可以将这些数据 挂载到data属性里面,使得实现双向数据绑定更加容易。

接下来介绍一些常用的指令:

v-if:通过判断加载内容,若为真加载,为假时删除元素

Now you see me

new Vue({ el: "#app", data: { seen: true } })

v-for:控制html元素的循环,实现数据列表

  1. {{ todo.text }}
new Vue({ el: "#app", data: { todos: [ { text: "Learn JavaScript" }, { text: "Learn Vue" }, { text: "Build something awesome" } ] } })

v-show:元素会始终渲染并保持在dom中,并且安全性没有v-if高,因为v-show 用法和v-if相同,只是v-show将元素display设置成none,并不是将元素直接移除

v-else:元素必须紧跟在v-if或v-show元素的后面——否则它不能被识别。

v-bind:给页面中html属性进行绑定,拥有缩写“:”,也推荐使用缩写


style
data:{ img:"img/logo.png", styles:{color:"red",fontSize:"30px"} }

可以缩写成这样


style

v-on:对页面中的事件进行绑定,使用方法 v-on:click="函数名称",函数就是存放在methods属性里的方法名,例如



methods:{ 
    oclick:function(){ 
        alert(1); 
    } 
}

也有缩写“@”


效果是一样的

$event:事件对象,如同我们原声js中的event

点我
methods:{ show:function(ev){ alert(ev.clientX) } }

结果:
177

stop:阻止事件冒泡

//原声:ev.cancelBubble=true;
@click.stop="show()"

prevent:阻止默认事件

//原声:ev.preventDefault();
@click.prevent="show()"

self:当事件在该元素本身触发时触发回调

@click.self="show()"

capture:添加事件侦听器时使用事件捕获模式

@click.capture="show()"

键盘事件:

//原声:ev.keyCode (13回车)
/*@keydown:任意键按下 @keyup:任意键抬起  
//方向键:.up:上 .down:下 .right:右 .left:左  .enter:回车 
//键码:.13:回车 

啦啦啦~
啦啦啦~

看上面例子就注意到vue支持键码

过滤器:

{{ jiexige|uppercase }}

//uppercase 大写、 lowercase 小写、 capitalize 首字母大写、currency 参数:"¥" 钱币
以上是vue基本使用,接下来讲讲vue-cli的需要注意的格式,最后做个经典例子“TODOLIST”

vue对象里不能有缩进,一般缩进用两个空格代替

冒号后面要跟一个空格

逗号后面也要跟一个空格

存放链接需要使用require

数据只能用单引号包着

{
    url: require("./assets/images/img4.png"),
}

目前只注意到这些,将不定期更新,下面来做个例子:我先前做好了可以点击此处看演示TODOLIST,
下面我来讲解下

我的数据层

window.onload = function(){
            new Vue({
                el: "#todu",
                data: {
                    myData: [],
                    username: "",
                    ages: "",
                    nowindex: 1,
                    m: false
                },
                methods: {
                    addData: function(){
                        if(this.$refs.sele.value==""){
                            alert("请填满资料!")
                        }else{
                            this.myData.push({
                                name:this.username,
                                age:this.ages
                            });
                            this.username="",
                            this.ages=""
                        }
                    },
                    noindex: function(n){
                        if(n==-1){
                            this.myData = [];
                        }else{
                            this.myData.splice(n,1);
                        }
                    }
                }
            });
        }

视图层

TODOLIST




数据查询列表

# 名称 年龄 操作
{{index+1}} {{list.name}} {{list.age}}

暂无数据……

我做的时候引用了bootstrap的js文件,所以有些弹框效果是基于bootstrap的。
关于html布局我就不说了,相信你们都是有基础的,我就从添加数据开始说。

data: {
    myData: [],
    username: "",
    ages: "",
    nowindex: 1,
    m: false
}




addData: function(){
if(this.$refs.sele.value==""){
    alert("请填满资料!")
}else{
    this.myData.push({
        name:this.username,
        age:this.ages
    });
    this.username="",
    this.ages=""
}
},

建两个变量username、ages用来存放input利用v-model传过来的名称和年龄,在通过点击添加触发addData()将收到值的两个变量添加到建的数组当中在清除两个变量。
这样就形成了添加数据,那该如何删除添加后的数据呢?


    {{index+1}}
    {{list.name}}
    {{list.age}}
    
        
    
 
data: {
    myData: [],
    username: "",
    ages: "",
    nowindex: 1,
    m: false
}
 noindex: function(n){
    if(n==-1){
        this.myData = [];
    }else{
        this.myData.splice(n,1);
    }
}

其实很简单给个判断就好了,如果是删除单个的话,点击删除后将当前下标传给变量nowindex,再将变量当参数传给noindex(nowindex),最后noindex方法里面判断nowindex是多少,在使用splice(n,1)删除在数组中第n个值。

删除全部直接将变量值赋-1,判断如果-1就清空数组。

有公众号啦!!!欢迎关注,不定期推荐前端技术!!!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81232.html

相关文章

  • vue.js快速入门

    摘要:但是,今天我要写一个快速入门,本人觉得还是有一点用处,因为,我不可能在一天之内精通某种东西,却可以在一两小时入门。不知道还要不要再来一个快速入门,发展得挺快,东西也像类似的全家。 以前看到多少天学习系列,我都深感烦躁,短短几天怎么可以精通,那是对于他们而言。但是,今天我要写一个快速入门,本人觉得还是有一点用处,因为,我不可能在一天之内精通某种东西,却可以在一两小时入门。 回到vue本身...

    MkkHou 评论0 收藏0
  • 前端必须要珍藏的技术文章和面试题

    摘要:前端工程师学习资料,快速查找面试题,经典技术文章的总结,编程技巧,帮助学习者快速定位问题花点时间整理出一下前端工程师日常工作所需要的学习资料查找,帮助学习者快速掌握前端工程师开发的基本知识编程始于足下记住再牛逼的梦想也抵不住傻逼似的坚持蝴蝶 前端工程师学习资料,快速查找面试题,经典技术文章的总结,编程技巧,帮助学习者快速定位问题花点时间整理出一下web前端工程师日常工作所需要的学习资料...

    MoAir 评论0 收藏0
  • Vue.js快速入门

    摘要:今年以来,的文档更新很快完善社区也日渐状大,再加上于某厂你懂的大力的推广,的前景十分光明。一般情况下,中小型的系统从迁移到版本大概只需要天的时间。快去动手尝试吧原创新书移动前端高效开发实战已在亚马逊京东当当开售。 作者:晓飞(沪江Web前端开发工程师)本文原创,转载请注明作者及出处 Vue.js框架已经火了好长一段时间了,早在2015年的双11中,淘宝的部分导购业务——如:双十一晚会摇...

    KitorinZero 评论0 收藏0
  • Vue.js 快速入门

    摘要:改变其中的任何一层,另外一层都会改变。插值相信你也注意到了,通过的形式就能取到的值,并与进行绑定。中改变中的值时相应也改变了中的,从而也得到改变。上面的代码改为这样则不会随着数据的改变而更新。顾名思义,用于条件判断,和是一对。 什么是Vue.js showImg(http://7xawrk.com1.z0.glb.clouddn.com/15-11-8/16479285.jpg); v...

    caspar 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<