Vue.js是一套构建用户界面的渐进式框架。采用自底向上增量开发的设计。Vue的核心值关注视图层非常容易与其他库和已有的项目整合。另外,Vue完全有能力驱动采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。

Vue.js的目标是通过尽可能简单地API实现响应式数据绑定和组合的视图组件。

声明式渲染

vue的核心是允许你使用简单地模板语法来声明式的将数据渲染进DOM的系统   demo:

<div id="app">

<div>{{msg1}}</div>

</div>
var app=new Vue(function(){
    el:"#app",
    data:{
      msg1:"this is my first vueMsg",
      items:[1,2,3,4,5,6,7,8,9,10],
      methods:{
        veverseMessage:function(){
          this.msg1=this.msg1.split("").reverse().join(" ")
        }
      }
    }
  })

除了绑定插入的文本内容,我们还可以采用这样的额方法绑定DOM元素的属性:

在id 为app的DOM元素中添加

<div v-bind:title="msg1">hove your mouse for a few seconds to see the bound title!</div>

v-bind:title="msg1"

这个指令的简单含义就是:将这个元素节点的title属性和Vue实例的msg1属性绑定在一起

条件与循环

<ul>
  <li v-for="item in items">{{item}}</li>
</ul>

处理用户输入

为了让用户和你的应用进行互动,我们可以使用v-on指令绑定一个监听事件用于调用我们Vue实例中定义的方法

<button v-on:click="veverseMessage()"></button>

vue页提供了v-model指令,它使得在表单输入和应用状态中做双向数据绑定变得非常轻巧

<input type='text" v-model="msg1">
<div>{{msg1}}</div>

用组件构建应用

组件系统是Vue的另外一个重要的概念,因为它提供了一种抽象,让我们用独立可复用的小组件构建大型应用。如果我们考虑到这点,几乎任意类型的

应用的界面都可以抽象为一个组件树:

在Vue里,一个组件实质上是一个个拥有预定义选项的一个Vue实例:

Vue.component("item-todo",{

template:"<div>this is my first vue component template</div>"

})

现在我们可以在另一个组件模板中写入它:

<item-todo></item-todo>

但是这样会为每一个item-todo渲染同样的文本,我们应该将数据从父作用域传到子组件,让我们来修改一下组件的定义,使得它能够接受一个prop字段:

这样我们就可以使用v-bind指令将todo传到每一个重复的组件中

<ul>
  <item3 v-for="item in itms" v-bind:todo="item"></item3>
</ul>

子元素通过props接口实现了与父元素很好的解耦。我们现在可以在不影响父应用的基础上,进一步为我们的todo组件改进更多复杂的模板和逻辑。

与自定义元素之间的关系

你可能已经注意到Vue.js组件类似于自定义元素-----它是web组件规范的一部分。实际上Vue.js的组件语法参考了该规范,不同:

1 web组件规范仍然远未完成,并且没有浏览器实现。相比之下,Vue.js的组件不需要任何补丁,并且在所有的浏览器中(ie9以及更高版本)之下表现一致,必要时,Vue.js组件也可以放在原生自定义元素之内。

2 Vue.js组件提供了原生自定义元素所不具备的一些重要功能。比如组件间的数据流,自定义事件系统,以及动态的、带特效的组件替换。

来自:http://cn.vuejs.org/v2/guide/class-and-style.html

vue 简介的更多相关文章

  1. vue简介、入门、模板语法

    在菜鸟教程上面学习的vue.js.同时结合vue中文文档网站,便于自己记录. vueAPI网站:API 1. 简介 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框 ...

  2. 01 . Vue简介,原理,环境安装

    简介 vue是一个JavaMVVM库,是一套用于构建用户界面的渐进式框架,是初创项目的首选前端框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计.它是轻量级的,它有很多独立的功能或库 ...

  3. vue简介

    vue的介绍 vue官网说:Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. vue的优点 1.易用 ...

  4. Vue简介以及基本使用

    Vue 是一套构建用户界面的渐进式 框架 框架和库? 框架(基于自身的特点向用户提供一套完整的解决方案,控制权在框架本身,需要使用者按照框架所规定的某种规范进行开发) Vue Angular Reac ...

  5. vue 简介 vue 项目 组件

    1. 概念 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.能够为复杂的单页应用提供驱动. 2. 用法 2.1 声明式渲染 2.1.1 改变文本     {{ m ...

  6. vue简介,插值表达式,过滤器

    目录 VUE框架介绍 what?什么是vue? why?为什么要学习vue? special特点? how如何使用? 下载安装? 导入方式? 挂在点el 插值表达式 delimiters自定义插值表达 ...

  7. Vue简介与基础

    一.什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于 ...

  8. Vue简介-MVVM是什么?

    Vue.js - Day1 课程介绍 前5天: 都在学习Vue基本的语法和概念:打包工具 Webpack , Gulp 后5天: 以项目驱动教学: 什么是Vue.js Vue.js 是目前最火的一个前 ...

  9. Vue --- 基础简介

    目录 Vue简介 1.什么是Vue 2.为什么要学习Vue 3.special -- 特点 4.如何使用vue Vue使用 1.如何使用vue 2.插值表达式 3.文本指令 4.事件指令 5.属性指令 ...

随机推荐

  1. buf.copy()

    buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]]) targetBuffer {Buffer} 需要拷贝的 Buffer ...

  2. poj 3253 Fence Repair (优先队列,哈弗曼)

    题目链接:http://poj.org/problem?id=3253 题意:给出n块木板的长度L1,L2...Ln,求在一块总长为这个木板和的大木板中如何切割出这n块木板花费最少,花费就是将木板切割 ...

  3. uva 1592 Database (STL)

    题意: 给出n行m列共n*m个字符串,问有没有在不同行r1,r2,有不同列c1,c2相同.即(r1,c1) = (r2,c1);(r1,c2) = (r2,c2); 如 2 3 123,456,789 ...

  4. 定义一个复数类Complex

    #include<iostream> #include<math.h> using namespace std; class Complex{ public: Complex( ...

  5. JavaEE JDBC 怎么加载驱动

    JDBC怎么加载驱动 @author ixenos 分析 1.JDBC是一套连接数据库的接口(放在java.util.sql.Driver类中),不同的数据库依此接口各自实现Java连接到数据库的操作 ...

  6. NYOJ-58最少步数,广搜思想!

    最少步数 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 ->   Link  <- 这个题深搜广搜都是可以的,迷宫已经给出了,就看怎么做了:一般起点终点确定用广搜 ...

  7. 在docker下面安装Nginx PHP mysql let's encrypt

    最近自己在弄了个Nginx PHP Mysql Let's encrypt的docker,下面记录一下 1)先装 Let's encrypt docker run --rm -p 80:80 -p 4 ...

  8. [USACO12FEB]附近的牛Nearby Cows

    题目描述 Farmer John has noticed that his cows often move between nearby fields. Taking this into accoun ...

  9. SharedPreferences保存用户偏好参数

    package com.example.administrator.myapplication; import android.content.Context; import android.cont ...

  10. 易碎的鸟蛋 概率DP

    1007: 易碎的鸟蛋 时间限制: 1 Sec  内存限制: 128 MB提交: 396  解决: 80[提交][状态][讨论版] 题目描述 你们知道吗?西电的跳楼塔上面有一个鸟巢.某SXBK的教授对 ...