什么是Vue?

Vue是一个渐进式的js框架,采用的是MVVM模式的双向绑定,

Vue的使用

引入vue
        <script src="vuejs/vue.js"></script>
        1.1 路径(相对路径)
        1.2 vue.js[开发版,可以看源码]/vue.min.js[体积小,加载速度快]
    2.准备vue的工作台(挂载点)
        <div id="app"> {{message}} {{say()}}</div>
    3.准备数据(创建vue对象)
        3.1 el:元素的挂载(id,class,标签:建议使用id),只有挂载的元素才能使用表达式这些
        3.2 data:数据(vue对象的所有数据都写在这里)
        3.3 methods:vue对象的方法(可以有多个)
                this指的就是这个vue对象,js与表达式中都可以调用这个方法
        var app = new Vue({
            el:"#app",
            data:{
                message:"你好啊"
            },
            methods:{
                say(){
                    return this.message+",xxxx";
                }
            }
        })

Vue双向绑定

双向绑定就是指,当view中的值发生 变化时通过监听到后会将model中的值也做出同样的改变,当model中的值发生改变时通过绑定数据,也会u改变view中的值

Vue表达式

Vue的表达式和js中的 表达式写法和用法差不多

Vue指令

v-text:直接展示
    v-html:直接展示(但是可以解析html标签)
    v-for:循环(数组,对象,数字,字符串)
        v:值 i:下标 k:属性名
        v-for="(v,i) in 数组"
        v-for="(v,k,i) in 对象"
    v-show:将数据给隐藏掉,
    v-if:判断条件是否成立,当不成立时那么代码将被隐藏掉
        v-else-if=""
        v-else
    v-bind:绑定属性(属性中使用vue的表达式)
        标准写法: <img v-bind:src="src" />
        简写形式(建议): <img :src="src" />
        绑定对象属性: <img v-bind="img" />

 <div id="sh">
<!--
bind就是将标签中的属性赋值从Vue中取值出来进行绑定
有三种方法,第一种
<img v-bind:src="src">
第二种 <img :src="src">
第三种 <img v-bind="img" >这个方式就是将数据种所有信息全部读取出来
-->
<img :src="src" :alt="alt"> </div> </body>
<script>
new Vue({
el:"#sh",
data:{
src:"/ind/a.jpg",
alt:"没有图片"
}
})

for循环和bing组合案例

<div id="aa">
<table border="1px">
<tr v-for="u in user">
<td>{{u.id}}</td>
<td>{{u.name}}</td>
<td>{{u.age}}</td>
<td>{{u.sex? "男":"女"}}</td>
<td>{{u.dept.name}}</td>
</tr>
</table>
<!--for循环遍历这个数组-->
<ul v-for="h in hobby">
<li>{{h}}</li>
</ul>
</div> </body>
<script>
new Vue({
el:"#aa",
data:{ user:[
{id:1,name:"燕人张飞",age:30,sex:true,dept:{name:"蜀"}},
{id:2,name:"常山子龙",age:24,sex:true,dept:{name:"蜀"}},
{id:3,name:"枭雄曹操",age:18,sex:true,dept:{name:"魏"}}, ],
hobby:["一尺","一桌","一堂木而"]
}
})

v-model:双向绑定(只能用到input,select,textarea中)
    v-on:事件绑定
        <input type="button" v-on:click="say()" />
        <input type="button" v-on:click="say" />
        简写形式:
        <input type="button" @click="say" />

组件(自定义标签)

注意事项

  1.先定义组件,再挂载
     2.组件的模板必需要一个根标签
    3.命名如果是驼峰(建议小写) myTag -> <my-tag>
    全局组件:
         Vue.component("mytag",{
            //组合的模板
            template:"<h1>假如有一千句html</h1>"
        })
    局部组件:
         new Vue({
            el:"#app",
            //组件(多个)
            components:{
                mytag:{
                    template:"<h2>我是局部组件</h2>"
                }
            }
        })

Vue的基本认识与使用的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  3. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  4. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  5. Vue + Webpack + Vue-loader 系列教程(2)相关配置篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...

  6. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...

  7. 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库

    应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...

  8. Vue.js 2.0 和 React、Augular等其他框架的全方位对比

    引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...

  9. 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?

    引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...

  10. 初探Vue

    Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...

随机推荐

  1. 778. Swim in Rising Water

    ▶ 给定方阵 grid,其元素的值为 D0n-1,代表网格中该点处的高度.现在网格中开始积水,时刻 t 的时候所有值不大于 t 的格点被水淹没,当两个相邻格点(上下左右四个方向)的值都不超过 t 的时 ...

  2. Spring cloud Hystrix的配置属性优先级和详解

    Hystrix配置属性详解 Hystrix可以配置属性的有以下类型: Execution:控制HystrixCommand.run() 的如何执行 Fallback: 控制HystrixCommand ...

  3. DevExpress之XtraReport 学习

    XtraReport 一.基本概念: XtraReports 中的每个报表都由 XtraRepot 类的一个实例表示,或者由该类的子类来表示(这种情况更常见). 因此,每个报表都作为带区的容器使用,而 ...

  4. MyBait 符号大于 小于理解

    EQ 就是 EQUAL等于 NQ 就是 NOT EQUAL不等于 GT 就是 GREATER THAN大于 LT 就是 LESS THAN小于 GE 就是 GREATER THAN OR EQUAL ...

  5. C#委托(匿名函数)的各种变形写法

      static void TestDelegate() { //类C++11风格:指定初始化容量20,使用初始化列表给部分成员赋值 ) { , , , , -, , }; ; i < lst. ...

  6. 迷你MVVM框架 avalonjs 学习教程9、类名操作

    ms-class是avalon用得最多的几个绑定之一,也正因为如此其功能一直在扩充中.根据时期的不同,分为旧风格与新风格两种. 旧风格是指ms-class-xxx=”expr”,*ms-class-a ...

  7. hive 建表导入数据

    1. hive> create table wyp > (id int, name string, > age int, tel string) > ROW FORMAT DE ...

  8. python 安装pyqt4

    yum install PyQt4-devel yum install qtwebkit-devel pip install PySide

  9. Linux学习---linux的svn的配置与安装

    1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion   3.检查是否安装成 ...

  10. python's object model

    [python's object model] 1.object.__init__(self[, ...])        如果subclass没有实现__init__,那么python类在实例化的时 ...