今天开始了Vue的学习,下面我就记录一下学习了什么。

1.什么是Vue?

vue是一套基于javaScript的渐进式框架,是MVVM框架。View ——ViewModel——Model  其中View就是视图层, Model就是数据层,而中间的监控者就负责监控两侧的数据,并相对应地通知另一侧进行修改。比如,你在数据层改变了某个数据的值,那么视图层的数据也会修改。这个过程就是有ViewModel来操作的,不需要你手动地去写代码去实现(你不用再手动操作DOM了)。

2.Vue的基础知识点:

 1)数据绑定,<p>{{name}}</p>     在标签里面绑定数据,通过两个大括号可以取得data里面想要显示的数据

    eg:实例话一个对象在app.js里面

    new Vue({

      el:"#vue-app",
      data:{
        name:'hello'
      }
    });
 
  2)vue的属性绑定方式:
    <a v-bind:href="website" target="blank">百度首页</a>
    <input type="text" v-bind:value="job"/>
    <p v-html="websiteTag"></p>
  3)vue事件绑定:  
  <div id="vue-app">
    <h1> Events </h1>
    <button v-on:click="add(1)">涨一岁</button><!-- 点击添加一岁 -->
    <button v-on:click="subtract(1)">减一岁</button><!--点击事件的所写:@click="subtract(1)" -->
    <!-- 传入参数10 -->
    <button v-on:dblclick="add(10)">涨十岁</button><!-- 双击添加十岁 -->
    <button v-on:dblclick="subtract(10)">减十岁</button>
    <p>我的年龄是:{{age}}</p>
    <!-- 鼠标移动事件 -->
    <div id="canvas" v-on:mousemove="updateXY">
      {{x}},{{y}}————<span v-on:mousemove.stop ="stop">Stop</span> <!-- 阻止冒泡事件属性 -->
    </div>
    <!-- 双向数据绑定 -->
    <h1>键盘 Events </h1>
    <label for="">姓名:</label>
    <input ref="aaa" type="text" v-on:keyup="logName" />
    <span>{{name}}</span>
    <label for="">年龄:</label>
    <input ref="bbb" type="text" v-on:keyup="logAge" />
    <span>{{age}}</span>
  </div>

  

<script>
  // 实例化
  new Vue({
    el:'#vue-app', //获取根容器
    data:{
      age:30,
      x:0,
      y:0
    },
    methods:{
      add:function(inc){ //接收传过来的参数
        console.log(inc);
        this.age += inc;
      },
      subtract:function(dec){
        this.age -= dec;
      },
      updateXY:function(event){ //event暂时先理解为所有的默认事件集合自带的
        console.log(event);
        this.x = event.offsetX; //获取x轴的位置坐标,并赋值给x
        this.y = event.offsetY; //获取Y轴的位置坐标,并赋值给y
      },
      stop:function(event){
        event.preventDefault(); //阻止事件冒泡并且阻止默认行为,什么元素有默认行为呢?如链接<a>,提交按钮<input type=”submit”>。
        event.stopPropagation();//阻止事件冒泡但是不会阻止默认行为
      },
      logName:function(){
        this.name = this.$refs.aaa.value;
      },
      logAge:function(){
        console.log("你正在输入年龄");
        this.age = this.$refs.bbb.value;
      }
    }
  })
</script>
 
/*
键盘事件:v-on:keyup v-on:keydown
键值修饰符: v-on:keyup.enter 只有按enter键才会执行方法
双向数据绑定: input /select /textrea 一般输入输出的时候会存在双向数据绑定的问题。
实现双向数据绑定的两种方式:
1. 通过事件操作属性的方式。
<input ref="name" type="text" v-on:keyup="logName" />
在input中定义(给input一个ref的标记,通过标记获取input里面的value)一个ref的属性,当键盘事件输入内容后触发这个方法,
方法里面我们需要获取input里面的值,并且赋给vue,在vue里面获取值得方式,就是this.$refs.name.value;
2. v-model指令的方式。
v-model = "name" 把data里面的值赋给v-model
*/
 
哇呀呀,不早了,今天大概就写到这里,突然感觉脑子一片空白,好像今天学的东西一下子都忘光了,最近发现记忆力真的是严重衰退,总是忘东忘西的,不知道是怎么了。我要早点提升,早点找到一份稳定的工作,工资可以不用很高,距离家近就可以了。希望自己可以早点找到想要的工作,加油,我一定可以的。


 
    

Vue学习记录第一天的更多相关文章

  1. Vue学习记录第一篇——Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

  2. Java学习记录第一章

    学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...

  3. vue学习记录④(路由传参)

    通过上篇文章对路由的工作原理有了基本的了解,现在我们一起来学习路由是如何传递参数的,也就是带参数的跳转. 带参数的跳转,一般是两种方式: ①.a标签直接跳转. ②点击按钮,触发函数跳转. 在上篇文章中 ...

  4. Vue学习记录第二天

    又来做笔记啦,今天又自暴自弃了,还好及时清醒过来了,什么时候努力都不晚,主要是要一直坚持下去,只要坚持就一定会有收获,所有成功得人背后都是付出了巨大得努力的,没有人平白无故的成功.看似光鲜亮丽的背后, ...

  5. Vue学习【第一篇】:Vue初识与指令

    什么是Vue 什么是Vue Vue.js是一个渐进式JavaScript框架它是构建用户界面的JavaScript框架(让它自动生成js,css,html等) 渐进式:vue从小到控制页面中的一个变量 ...

  6. PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建

    最近一段时间会学习一下PHP全栈开发,将会写一系列的文章来总结学习的过程,以自勉. 第一篇记录一下LAMP环境的安装 0. 安装Apache Web服务器 安装之前先更新一下系统 sudo apt-g ...

  7. vue学习记录:vue引入,validator验证,数据信息,vuex数据共享

    最近在学习vue,关于学习过程中所遇到的问题进行记录,包含vue引入,validator验证,数据信息,vuex数据共享,传值问题记录 1.vue 引入vue vue的大致形式如下: <temp ...

  8. [20190614]webpack+vue学习记录

    本文记录一些学习webpack+vue相关的知识点,方便以后查阅,添加或修改 1. 初始化vue项目的代码结构 build--项目依赖包配置信息 config--项目配置文件 dev.env.js-- ...

  9. vue学习记录(一)—— vue开发调试神器vue-devtools安装

    网上有些贴子少了至关重要的一步导致我一直没装上, 切记!!install后还需build,且install和build都在vue-devtools文件夹内执行 github下载地址 点击跳转 具体步骤 ...

随机推荐

  1. 帆软报表(finereport) 复选框多值查询

    定义数据集 SELECT * FROM 库存 设计模板 设置控件:控件名称 XX  要与 单元格中 取值公式  =$XX   对应,控件值可更改 下拉复选框控件: 设置控件名称(与模板中=$选仓库  ...

  2. eclipse解决maven编码UTF-8的不可映射字符

    1.同时指定<project.build.sourceEncoding>属性和<encoding>的方式可适用于Maven2和Maven3. 2.在Maven3中可以只增加&l ...

  3. java的官网下载(如有不懂,可以去我发的视频网站,那里面有详细过程)

    https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html java 9的下载 ...

  4. 如何在python脚本下启动django程序

    直接上图

  5. 动态加载机Servlet容器加载器

    动态加载是Servlet 3.0中的新特性,它可以实现在 不重启Web应用的情况下加载新的Web对象(Servlet. Filter.Listener).Servlet容器加载器也是Servlet 3 ...

  6. AI数据分析(三)

    见笔记本 通用函数

  7. SVN 版本控制安装

    客户端 一路点击next即可 注意事项: 这个一定要选,否则后面使用会出现问题. 选择下拉菜单的第一项

  8. maven build pulgin

    <build> <defaultGoal>compile</defaultGoal> <plugins> <!-- 生成清单文件相关 --> ...

  9. 深入理解Java虚拟机阅读心得(二)

    垃圾收集 程序计数器.虚拟机栈.本地方法栈三个区域随线程而生,随线程而灭:这几个区域的内存分配和回收都具备稳定性,不需要过多的考虑回收的问题.而Java堆和方法区则不一样. Java堆中存储了几乎所有 ...

  10. 求n到m之间素数的个数

    Description 求n到m之间素数的个数 Input 多组测试数据,每组先输入一个整数t,表示组数,然后每组输入2个正整数n和m,(1 <= n <= m <= 10000) ...