我们创建一个项目,这个项目我们细说Vue。

一.如何在项目中添加模块

我们通过npm 进行 安装 模块。

首先我们通过cmd.exe cd进入你的项目根目录,必须存在package.json文件,安装完之后就自动引入了。

如何在项目中添加模块呢?我们找到main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
//在这里可以引用第三方模块
import 'bootstrap/dist/css/bootstrap.css' Vue.config.productionTip = false /* eslint-disable no-new */
new Vue({
el: '#app',
components: { App },
template: '<App/>'
})

二.程序员典型开场白“Hello,World”

vue页面中的样式都有互用性,那么如何让一个webpack的样式具有单一性呢.可以在style标签中添加scoped

...b话少说,让我们看下helloWorld吧。

<template>
<div id="app" class="container">
<h1>{{text}}</h1>
</div>
</template> <script>
export default{
name :'app',
data(){
return{
text:"hello,Vue"
}
}
}
</script>

  

data就犹如C#中的参数一样,它是为View做准备的,就犹如MVC一样,这种数据驱动和组件化就叫做MVVM模式

三.绑定复杂数据(集合)

数据是这样的:

data(){
return{
text:"hello,Vue",
stus:[
{sid:11,name:'小明11',age:21},
{sid:12,name:'小明12',age:22},
{sid:13,name:'小明13',age:23},
{sid:14,name:'小明14',age:24},
{sid:15,name:'小明15',age:25},
{sid:16,name:'小明16',age:26},
{sid:16,name:'小明16',age:26},
]
}
}

我们可以通过vue的v-for去遍历它。

 <div v-for="stu in stus" :key="stu">
<h4>{{stu.name}}</h4>
</div>

但我们值得思考的是,如何获取下标呢,我们说的并不是sid ---序号,我们可以这么搞定

<div v-for="(stu,index) in stus" :key="stu">
<h4>{{index}} {{stu.name}}</h4>
</div>

这第二个参数还有一个关键字就是attr我们可以这么做

<tr v-for="(p,attr) in person" :key="p">
<td>{{attr}}</td>
<td>{{p}}</td>
</tr> person:{
name:'张三',
gender:'男',
age:30,
height:170,
weight:200,
}

这样我们就可以知道它的属性名了。

有可能你觉得绑定集合我们已经说完了,聪明的同学应该发现,这样的数据格式非常的整洁,那如果他们的列数不同我们应该怎么办呢?我们可以这么做!

 <div v-for="(stu,index) in stus" :key="stu">
<h4>这是第{{index}}个学生</h4>
<table class="table table-bordered table-hover">
<tr v-for="(p,attr) in stu" :key="p">
<td>{{attr}} {{stu.name}}</td>
</tr>
</table>
</div>

四.vue的view-model

<input type="text" class="form-control" v-model="user.name">
<h4>{{user.name}}</h4>
user:
{
name:'',
pwd:''
}

五.@Click事件驱动

和winfrom事件驱动类似,vue中事件写在methods中,我们简单的做一下登录功能

事件驱动的标识通过@Click触发

 methods:{
MyLogin(){
if(this.user.name==="admin"&&this.user.pwd==="123456"){
alert("登录成功");
}
}
}

值得一提的是,如果方法需要参数,但是通过事件调用的时候没有给传递参数,那么参数的值等于此方法的Dom元素所触发的事件对象。例如button 就等于MouseEvent,在ES6新标准中,方法可以自行定制默认值,如果不传值就是默认值的了!

传入值

如果不传入

六.v-if方法

<h3 v-if="age<16">少年</h3>
<h3 v-else-if="age<30">青年</h3>
<h3 v-else-if="50">中年</h3>
<h3 v-else>老年</h3>
age:23,

七.v-show

 <h3 v-show="age<30">小于30岁</h3>
<h3 v-show="age>30">大于30岁</h3>

这和if没有什么区别 而且和else的机制不同,show方法只是控制一下style:display:none||block 。。。

结语:希望大家学的开心,有什么问题在下方留言,觉得有用的话点个推荐吧!

Vue轻松入门,一起学起来!的更多相关文章

  1. 四、vue前端路由(轻松入门vue)

    轻松入门vue系列 Vue前端路由 七.Vue前端路由 1. 路由的基本概念与原理 后端路由 前端路由 实现简单的前端路由 vue-router基本概念 2. vue-router的基本使用 基本使用 ...

  2. 三、vue前后端交互(轻松入门vue)

    轻松入门vue系列 Vue前后端交互 六.Vue前后端交互 1. 前后端交互模式 2. Promise的相关概念和用法 Promise基本用法 then参数中的函数返回值 基于Promise处理多个A ...

  3. 二、vue组件化开发(轻松入门vue)

    轻松入门vue系列 Vue组件化开发 五.组件化开发 1. 组件注册 组件命名规范 组件注册注意事项 全局组件注册 局部组件注册 2. Vue调试工具下载 3. 组件间数据交互 父组件向子组件传值 p ...

  4. 一、vue基础语法(轻松入门vue)

    轻松入门vue系列 Vue基础语法 一.HelloWord 二.MVVM设计思想 三.指令 1. v-cloak 2. v-text 3. v-html 4. v-show 4. v-pre 5. v ...

  5. vue 快速入门 系列 —— vue loader 扩展

    其他章节请看: vue 快速入门 系列 vue loader 扩展 在vue loader一文中,我们学会了从零搭建一个简单的,用于单文件组件开发的脚手架.本篇将在此基础上继续引入一些常用的库:vue ...

  6. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...

  7. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)

    摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...

  8. Groovy轻松入门——搭建Groovy开发环境

    摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/17/104391.html Groovy轻松入门--搭建Groovy开发环境 多日来,我发表了 ...

  9. C++ STL编程轻松入门基础

    C++ STL编程轻松入门基础 1 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL 1.2 追根溯源:STL的历史 1.3 千丝万缕的联系 1.4 STL的不同实现版本 2 牛刀小试 ...

随机推荐

  1. C语言的整型溢出问题 int、long、long long取值范围 最大最小值

    类型名称 字节数 取值范围 signed char 1 -128-+127 short int 2 -32768-+32767 int 4 -2147483648-+2147483647 long i ...

  2. Linux学习之shell

    通配符 *:表示从它所在位置开始到某个符合条件的结束符之间的任何字符 ?:表示它所在位置上的任何可能的单个字符 []:表示[]中所包含字符的任何一个 特殊键 ctrl+c  #停止当前程序执行 ctr ...

  3. centos7上PhantomJS 过期之后改用Chrome时填的坑

    突然有个自动化需求所以准备使用模拟点击的方法, 在使用之前的PhantomJS时,报错 UserWarning: Selenium support for PhantomJS has been dep ...

  4. 创建线程的第三种方式——使用Callable接口

    Callable是类似于Runnable的接口,实现Callable的类和实现Runnable的类都是可被其他线程执行的任务. 优点:有返回值 缺点:实现繁琐 简单实现: CallableAndFut ...

  5. bs4库学习

    # -*- coding:utf-8 -*- import bs4 import requests def tags_val(tag, key='', index=0): ''' tag指HTML元素 ...

  6. 用canal同步binlog到kafka,spark streaming消费kafka topic乱码问题

    canal 1.1.1版本之后, 默认支持将canal server接收到的binlog数据直接投递到MQ, 目前默认支持的MQ系统有kafka和RocketMQ. 在投递的时候我们使用的是非压平的消 ...

  7. 网络编程-SOCKET开发之----3. socket通信工作流程

    1. TCP的socket通信流程 服务端 1)socket----创建socket对象. 2)bind----绑定本机ip+port. 3)listen----监听来电,若在监听到来电,则建立起连接 ...

  8. 我的 FPGA 学习历程(14)—— PWM 脉冲宽度调制

    PWM 是一种调节输出功率的技术(俗称调压),其原理在于改变输出方波的占空比,具体输出见下图: 输出信号为电压值,当负载为恒阻时,上图中的输出功率分别为 25%.50%.75%. 实现方法如下: 设置 ...

  9. 更换MariaDB数据库

    https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft&distro=Ubuntu&distro_rele ...

  10. Hibernate HQL ②

    分页查询: - setFirstResult(int firstResult):设定从哪一个对象开始检索,参数 firstResult 表示这个对象在查询结果中的索引位置,索引位置的起始值为零.默认情 ...