vue学习01

 

1. 创建一个Vue实例
官网-学习-教程-安装-(开发/生产版本)-与jQuery的引用相似

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script src="vue.js"></script>
    </head>
    <body>
        <div id="root">
            <!-- v-on处理click事件 -->
            <!-- v-on:可以简写为@ -->
            <!-- v-bind 绑定数据,将title与data中title绑定 -->
            <!-- v-bind:可以简写为为 : -->
            <div :title="title" @click="handClick">{{msg}}</div>
            <!-- v-model:用来进行双向数据绑定 -->
            <input v-model:value="content"/>
            <div>{{content}}</div>
            姓:<input v-model:value="firstName"/>
            名:<input v-model:value="lastName"/>
            <div>{{fullName}}</div>
            <div>{{count}}</div>
            <div v-if="show">你可以看到我吗</div>
            <button @click="handleShow">试试看喽</button>
            <!-- 循环展示 -->
            <ul>
                <!-- <li v-for="item of list">{{item}}</li> -->
                <!-- 加入key值,增强渲染效果,index表示的是下标,所以每一个index都是不一样的 -->
                <li v-for="(item,index) of list":key="index">{{item}}</li>
            </ul>
        </div>
        <script>
            /* 创建Vue实例  接管ID为root的元素*/
            new Vue({
                el:"#root",
                data:{
                    msg:"hello world",
                    title:"this is hello world",
                    content:"双向数据绑定",
                    firstName:'',
                    lastName:'',
                    count:0,
                    show:true,
                    list:[1,2,3,4]
                },
                // 计算属性:如果之前的计算内容没有改变,那么fullName就会显示上一次缓存的值,直到firstName或者lastName改变
                computed:{
                    fullName: function(){
                       return this.firstName+" "+this.lastName;
                    }
                },
                methods:{
                    handClick:function(){
                        // alert('123');
                        this.msg="666";
                    },
                    handleShow:function(){
                        this.show=!this.show;
                    }
                },
                // 侦听器
                watch: {
                    // firstName:function(){
                    //     this.count++;
                    // },
                    // lastName:function(){
                    //     this.count++;
                    // }
                    fullName:function(){
                        this.count++;
                    }
                }

            });
        </script>
    </body>
</html>

2. 挂载点、模板、实例之间的关系
 挂载点:div标签 对应el属性
   模板:挂载点之内的内容,也可以写在实例的template属性里面
3. {{xxx}} 叫做插值表达式
   属性的绑定
   {{number}} 与 v-text="number"效果是一样的
   v-html 会进行转义,可以输出HTML格式的内容。
   v-on:click="hanleClick"
4. 只要是在模板里面使用了模板指令(v-on、@、v-bind),等号 后面就不再是字符串了,而是一个js的表达式
5. 双向数据绑定:
    既可以通过数据来修改模板中的内容,又可以通过修改模板中 的内容来修改数据中的内容。
    v-model
6. Vue中的计算属性和侦听器
7. v-if、v-show、v-for
    如果v-if为false的话,会将v-if所在的标签从DOM树里面删除
    如果v-show为false的,会将该标签的显示属性设置为display: none;

vue学习01的更多相关文章

  1. Vue学习-01

    1.vue 学习 v-bind:title 数据绑定 v-if 判断显示或者隐藏 <div id="app-3"> <p v-if="seen" ...

  2. vue学习09 图片切换

    目录 vue学习09 图片切换 定义图片数组:imgList:[],列表数据使用数组保存 添加图片索引:index 绑定src属性:使用v-bind,v-bind指令可以设置元素属性,比如src 图片 ...

  3. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  4. Java虚拟机JVM学习01 流程概述

    Java虚拟机JVM学习01 流程概述 Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序. 当启动一个Java程序时,一个虚拟机实例诞生:当程序关闭退出,这 ...

  5. Android Testing学习01 介绍 测试测什么 测试的类型

    Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...

  6. Vue学习笔记-2

    前言 本文非vue教程,仅为学习vue过程中的个人理解与笔记,有说的不正确的地方欢迎指正讨论 1.computed计算属性函数中不能使用vm变量 在计算属性的函数中,不能使用Vue构造函数返回的vm变 ...

  7. Vue学习笔记-1

    前言 本文不是Vue.js的教程,只是一边看官网Vue的教程文档一边记录并总结学习过程中遇到的一些问题和思考的笔记. 1.vue和avalon一样,都不支持VM初始时不存在的属性 而在Angular里 ...

  8. Java学习01

    Java学习01 第一章 1.JRE与JDK JDK(JAVA Develop Kit,JAVA开发工具包)提供了Java的开发环境和运行环境,主要用于开发JAVA程序,面向Java程序的开发者; J ...

  9. ThinkPhp学习01

    原文:ThinkPhp学习01 一.ThinkPHP的介绍           MVC  M - Model 模型                工作:负责数据的操作  V - View  视图(模板 ...

随机推荐

  1. Objective-C:ARC自动释放对象内存

    ARC是cocoa系统帮你完成对象内存释放的引用计数机制 .h文件 // Person.h // 01-ARC // // Created by ma c on 15/8/13. // Copyrig ...

  2. 数学图形之莫比乌斯带(mobius)

    莫比乌斯带,又被译作:莫比斯环,梅比斯環或麦比乌斯带.是一种拓扑学结构,它只有一个面(表面),和一个边界.即它的正反两面在同一个曲面上,左右两个边在同一条曲线上.看它的名字很洋气,听它的特征很玄乎,实 ...

  3. 容器list使用之erase(其他容器也通用)

    今天无论如何要写点东西,算是搞清楚了一点东西吧.有点小小的成就感. 之前在程序里面使用了list容器,其中用到了erase()函数,之前一直没出现问题,这两天突然莫名奇妙.花了点时间,搞清楚了eras ...

  4. WampServer和phpStorm的用法

    WampServer的安装 修改默认的浏览器和文本编辑器 phpStore创建一个PHP工程 在phpStore中运行我们的项目 配制一个PHP Script运行环境 配制一个PHP Web Page ...

  5. mysql搭建及数据迁移教程

    1.如果jumbo不存在,先安装jumbo 参考  http://hetu.baidu.com/api/tool/show?toolId=174: bash -c "$( curl  htt ...

  6. 初识EntityFramework6

    初识EntityFramework6 什么是EF? EF是一种ORM(Object-relational mapping)框架,它能把我们在编程时使用对象映射到底层的数据库结构.比如,你可以在数据库中 ...

  7. [leetcode]Construct Binary Tree from Preorder and Inorder Traversal @ Python

    原题地址:http://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 题意:根 ...

  8. AS 代码模板 文件模板 Templates MD

    修改 File and Code Templates Settings –> Editor –>[File and Code Templates] 或者在右键new时选择子菜单[Edite ...

  9. 几行JavaScript代码搞定Iframe 自动适应

    场景:Iframe嵌入flash,希望flash能随着页面的resize而resize. 主要代码: 代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM ...

  10. Vue路由scrollBehavior滚动行为控制锚点

    使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样. vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动. 注意: 这个功能只 ...