看了慕课网的教学视频,觉得挺不错的,在此做个随堂记录,有兴趣的可以去看视频

vue版本:2.5

文档链接:https://v2.cn.vuejs.org/v2/guide/installation.html

视频链接:https://www.imooc.com/video/16976

在vue官网下载开发版本的vue.js,并复制其代码到编译器中创建的vue.js文件中

然后在创建index.html文件,在head部引用这个文件,就可以了

1、第一个vue实例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue入门</title>
<script src="./vue.js"></script> <!--引用js库文件-->
</head>
<body>
<div id="root"> <!--vue实例的挂载点-->
<h1>{{msg}}</h1>     <!--{{变量名}}:插值表达式,接收data里对应变量名的值-->
</div>
<script>
new Vue({ //使用new创建实例
el: "#root", //接收id=root的元素,将实例与模板进行绑定
//template: '<h1>{{msg}}</h1>', 模板内容,等同于<div>里的内容
data:{ //vue实例内的数据板块
msg: "hello world"
}
})
</script>
</body>
</html>

效果展示:

2、挂载点,模板,实例之间的关系/数据,事件与方法

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>挂载点,模板,实例之间的关系/数据,事件与方法</title>
<script src="./vue.js"></script> <!--引用js库文件-->
</head>
<body>
<div id="root"> <!--vue实例的挂载点,里面的数据为模板内容-->
<h1>hello {{msg}}</h1> <!--{{变量名}}:插值表达式,接收实例data里对应变量名的值-->
<h2 v-text="content"></h2> <!--v-text:接收后面的变量值-->
<h4 v-html="content"></h4> <!--与v-text的区别在于:v-html不会转义-->
<div v-on:click="handleClick">{{contents}}</div> <!--鼠标点击,引发事件,方法为handleClick-->
<div @click="handleClick">{{contents}}</div> <!--v-on的简写-->
</div>
<script>
new Vue({ //使用new创建实例
el: "#root", //接收id=root的元素,将实例与模板进行绑定
data:{ //vue实例内的数据板块
msg: "hello world",
content: "<h1>hello</h1>",
contents: "hello"
},
methods:{ //vue实例内的函数板块
handleClick: function () { //handleClick方法的具体函数
this.contents = "world" //为vue实例里data下的contents变量,重新赋值
}
}
})
</script>
</body>
</html>

效果展示:点击最下面两个hello,会变成world

3、属性绑定和双向数据绑定

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>属性绑定和双向数据绑定</title>
<!--单向绑定:数据决定页面的内容,但页面不可改变数据内容;双向绑定:页面亦可改变数据内容-->
<script src="./vue.js"></script>
</head>
<body>
<div id="root">
<!--<div title="this is hello world">hello world</div>;title: 鼠标放在hello world上时展示的提示语;-->
<div :title="title">hello world</div> <!--v-bind:属性与数据向绑定;可缩写为:-->
<input v-model="content"/> <!--v-model:模板指令,当页面的content改变时,数据data里的content也相应改变-->
<div>{{content}}</div> <!--为双向绑定做验证,页面上应跟v-model的数据一致-->
</div>
<script>
new Vue({
el:"#root",
data:{
title:"this is hello world",
content:"this is content"
}
})
</script>
</body>
</html>

效果展示:修改表框内的数据,其下一行会随着改变

4、计算属性与侦听器

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>计算属性与侦听器</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="root">
姓:<input v-model="firstName"/>
名:<input v-model="lastName"/>
<div>{{fullName}}</div>
<div>{{count}}</div>
</div>
<script>
new Vue({
el:"#root",
data:{
firstName: '',
lastName: '',
count: 0
},
computed:{ <!--计算属性:一个属性由其他属性计算得来;当其他属性无变化时,fullName不会变更,会使用上一次计算的缓存,只有当其他属性有变化时才变化-->
fullName: function (){
return this.firstName + ' ' + this.lastName
}
},
watch:{ <!--侦听器,监听属性的变化-->
firstName: function (){ <!--当firstName属性变化时,做下面的动作-->
this.count ++
},
lastName: function (){
this.count ++
}
}
})
</script>
</body>
</html>

效果展示:随着输入姓名的次数变化,最下面的计数值也会随着增加

5、v-if,v-show,v-for指令

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>v-if,v-show,v-for 指令</title>
<script src="vue.js"></script>
</head>
<body>
<div id="root">
<div v-if="show">hello world</div> <!--通过点击按钮,显示或隐藏文本;show=ture时才会显示-->
<div v-show="show">hello world</div> <!--跟v-if的区别:v-show是用css标签来隐藏div,而if是直接删除此div标签,如果需要频繁显示与隐藏的话,建议使用v-show,其他用v-if-->
<button @click="handleClick">toggle</button> <!--button:标记一个按钮-->
<ul>
<li v-for="(item, index) of list" :key="index">{{item}}</li> <!--循环获取list的数值和下标,对应变量item,index,并展示item;需要添加:key属性来提升性能,key值不能相同,若需频繁对列表进行表更,则不适用index-->
</ul>
</div>
<script>
new Vue({
el:"#root",
data: {
show: true,
list: [1,2,3]
},
methods: {
handleClick: function () {
this.show = !this.show;
}
}
})
</script>
</body>
</html>

效果展示:点击toggle按钮,显示或隐藏hello world

6、TodoList

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TodoList</title>
<script src="vue.js"></script>
</head>
<body>
<div id="root">
<div>
<input v-model="inputValue"/> <!--v-model:模板指令,双向绑定-->
<button @click="handleSubmit">提交</button> <!--鼠标点击,引发事件,方法为handleSubmit-->
</div>
<ul>
<!--使用组件,通过content 属性传递数值;@delete:监听子组件的变化-->
<todo-item v-for="(item, index) of list"
:key="index"
:content="item"
:index="index"
@delete="handleDelete"
></todo-item>
</ul>
</div>
<script> //创建一个组件:全局组件,一个组件就是一个vue实例
Vue.component('todo-item', {
props: ['content','index'], //接收传递的数值,index为下标
template: '<li @click="handleClick">{{content}}</li>',
methods: {
handleClick: function () {
//alert('clicked') //弹窗提示
this.$emit('delete',this.index) //向外触发名称为delete的事件,对应值为index,与父组件形成发布--订阅模式,
}
}
}) //定义一个局部组件
// var TodoItem = {
// template: '<li>{{item}}</li>'
// } new Vue({
el:"#root",
// components: {
// 'todo-item': TodoItem //使用局部组件时,需绑定
// },
data: {
inputValue: '',
list: []
},
//若没有定义模板template,则挂载点下所有的实例为模板
methods: {
handleSubmit: function () { <!--将提交的数据inputValue赋值到list中,并清空输入的值-->
this.list.push(this.inputValue)
this.inputValue = ''
},
handleDelete: function (index) {
this.list.splice(index,1) //删除list中对应下标index的数值
}
}
})
</script>
</body>
</html>

效果展示:

  在页框内输入数据,点击提交,将会展示在列表中,并清空页框内的数据

  鼠标点击列表数据,将会进行删除

Vue2--入门学习的更多相关文章

  1. vue2 入门 教程 单页应用最佳实战[*****]

    推荐 vue2 入门 教程 -------- 看过其他的,再看作者的,很赞 vue2 入门 教程 单页应用最佳实战 :  具体在 https://github.com/MeCKodo/vue-tuto ...

  2. Vue2.0学习--Vue数据通信详解

    一.前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.组件间如何传递数据就显得至关重要.本文尽可能罗列出一些常见的数据传递方式,如p ...

  3. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  4. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  5. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  6. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  7. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  8. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  9. Retrofit 入门学习

    Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...

  10. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

随机推荐

  1. UIPath之Excel操作

    你的选择是做或不做,但不做就永远不会有机会. 一. UIPath操作Excel的两组方法 1. App Integration > Excel   特点: 对Excel里的操作必须包含在Exec ...

  2. 记一次 .NET 某新能源材料检测系统 崩溃分析

    一:背景 1. 讲故事 上周有位朋友找到我,说他的程序经常会偶发性崩溃,一直没找到原因,自己也抓了dump 也没分析出个所以然,让我帮忙看下怎么回事,那既然有 dump,那就开始分析呗. 二:Wind ...

  3. 2023年的PHP项目部署笔记。什么?还有人用PHP?

    前言 这是我第一次用 PHP 的包管理工具 composer 一开始用 docker 进行部署,但一直出问题,最后还是选择直接在服务器上安装 php-fpm 搭配 nginx 的方案了. PS:doc ...

  4. 后端程序员必会的前端知识-01:html、css

    第一章. HTML 与 CSS HTML 是什么:即 HyperText Markup language 超文本标记语言,咱们熟知的网页就是用它编写的,HTML 的作用是定义网页的内容和结构. Hyp ...

  5. bash shell笔记整理——basename和dirname命令

    bashname命令作用 去掉给定name的目录部分,如果指定了 SUFFIX, 就 同时去掉SUFFIX(后缀).具体看示例吧. bashname语法 Usage: basename NAME [S ...

  6. 中企网安信息科技:数据防泄密DLP管理系统概述

    由华企网安总公司北京中企网安信息科技有限责任公司开发的<数据防泄密DLP管理系统>,获得国家版权局颁发的计算机软件著作权登记证书. 数据防泄密DLP管理系统是用于保护.监控和管理敏感数据的 ...

  7. [BUG]自定义登录引发的配置加载问题-bugspringsecurity

    title: [BUG]自定义登录引发的配置加载问题 date: 2021-12-10 16:43:36.311 updated: 2021-12-27 19:10:16.773 url: https ...

  8. 一键式调试工具—Reqable 使用指南

    简介 Reqable是一款跨平台的专业HTTP开发和调试工具,在全平台支持HTTP1.HTTP2和HTTP3(QUIC)协议,简单易用.功能强大.性能高效,助力程序开发和测试人员提高生产力!本产品需要 ...

  9. 16、Flutter Wrap组件 实现流布局

    Wrap可以实现流布局,单行的Wrap跟Row表现几乎一致,单列的Wrap则跟Column表现几乎一致.但 Row与Column都是单行单列的,Wrap则突破了这个限制,mainAxis上空间不足时, ...

  10. linux中redis下载安装部署启动

    下载安装部署 创建一个存放Redis的文件夹,下载安装包 mkdir redis 进入redis文件 cd redis 下载redis安装包 wget http://download.redis.io ...