谈谈我对Vue的理解

vue就是前端上的Java,前端上的C#。有个前端的虚拟DOM引擎,设计理念和Java,C#类似。我们只需要告诉DOM应该显示什么,而不用去操作DOM元素。

如何引用?

下面是一个helloWord,大家运行感受一下。

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<meta charset="utf-8">
</head>
<body>
<div id="app">
<!--使用 v-cloak能够解决插值闪烁问题-->
<p>{{msg}}</p> </div>
<script type="text/javascript">
//VM层
var vm = new Vue({
el:'#app',//表示,当前我们new这个vue的实例,要控制页面上的哪个区域
//M层
data:{//data属性中存放的是el中要用的数据
msg:'HelloWorld'//通过Vue提供的指令,很方便的就能把数据渲染到页面上,程序员不用再操作dom元素了。
}
})
</script>
</body>
</html>

运行效果如下:

这里当导入了vue.js库后,里面会有个Vue的构造器,对应着div。vue构造器中里面的el绑定div,data绑定数据。

解决闪烁问题:

相信新手都遇到过这个问题:

能看到{{msg}}是不是很没有B格?

这时候加个v-cloak属性即可解决

代码如下:有注释肯定能看懂。

<!DOCTYPE html>
<html>
<head>
<title></title> <meta charset="utf-8">
<style type="text/css">
[v-cloak]{
display:none;
}
</style>
</head>
<body>
<div id="app">
<!--使用 v-cloak能够解决插值闪烁问题-->
<p v-cloak>{{msg}}</p> </div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<script type="text/javascript">
//VM层 var vm = new Vue({
el:'#app',//表示,当前我们new这个vue的实例,要控制页面上的哪个区域
//M层
data:{//data属性中存放的是el中要用的数据
msg:'欢迎学习Vue'//通过Vue提供的指令,很方便的就能把数据渲染到页面上,程序员不用再操作dom元素了。
}
})
</script>
</body>
</html>

这时候就看不见{{msg}}了

v-bind指令:

v-bind是vue中提供的用于绑定属性的指令实例代码如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<meta charset="utf-8">
<style type="text/css">
[v-cloak]{
display:none;
}
</style>
</head>
<body>
<div id="app">
<!--使用 v-cloak能够解决插值闪烁问题-->
<p v-cloak>{{msg}}</p>
<input type="button" v-bind:value="value">
</div>
<script type="text/javascript">
//VM层 var vm = new Vue({
el:'#app',//表示,当前我们new这个vue的实例,要控制页面上的哪个区域
//M层
data:{//data属性中存放的是el中要用的数据
msg:'欢迎学习Vue'//通过Vue提供的指令,很方便的就能把数据渲染到页面上,程序员不用再操作dom元素了。
,value:'按钮'
}
})
</script>
</body>
</html>

运行结果:

可以看到bind能够绑定属性值。

原理:v-bind会把原属性值变成js变量解析。

注意:v-bind指令可以被简写位:要绑定的属性

v-bind中可以写合法的js表达式。

v-on指令:

Vue中提供了v-on事件绑定机制。

示例代码如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<meta charset="utf-8">
<style type="text/css">
[v-cloak]{
display:none;
}
</style>
</head>
<body>
<div id="app">
<!--使用 v-cloak能够解决插值闪烁问题-->
<p v-cloak>{{msg}}</p>
<input type="button" v-bind:value="value" v-on:click="show">
</div>
<script type="text/javascript">
//VM层 var vm = new Vue({
el:'#app',//表示,当前我们new这个vue的实例,要控制页面上的哪个区域
//M层
data:{//data属性中存放的是el中要用的数据
msg:'欢迎学习Vue'//通过Vue提供的指令,很方便的就能把数据渲染到页面上,程序员不用再操作dom元素了。
,value:'按钮'
},
methods:{//这个methods属性中定义了当前Vue实例所有可用的方法
show: function(){
alert("Hello");
}
}
})
</script>
</body>
</html>

截止如下: 我们掌握了如何定义一个基本的Vue代码结构,插值表达式,v-cloak,v-html,v-bind v-on 。

Vue新手入门教程的更多相关文章

  1. 安卓自动化测试(2)Robotium环境搭建与新手入门教程

    Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...

  2. Xorboot-UEFI新手入门教程

    Xorboot-UEFI新手入门教程        Xorboot-UEFI是一款UEFI下轻量级的图形化多系统引导程序,pauly于2014年国庆节期间发布了预览版.搜了下论坛,关于Xorboot- ...

  3. Vue.js 入门教程

    Vue.js 入门教程:https://cn.vuejs.org/v2/guide/index.html

  4. gulp的使用以及Gulp新手入门教程

    Gulp新手入门教程 原文  http://w3ctrain.com/2015/12/22/gulp-for-beginners/ Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...

  5. 【LaTeX】E喵的LaTeX新手入门教程(6)中文

    假期玩得有点凶 ._.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的LaTeX新手入门教程(3)数学公式 ...

  6. 【LaTeX】E喵的LaTeX新手入门教程(4)图表

    这里说的不是用LaTeX画图,而是插入已经画好的图片..想看画图可以把滚动条拉到底.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础 ...

  7. 【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织

    这不是最后一篇,明天开始建模所以会从6号开始继续更新.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的La ...

  8. 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

  9. 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

随机推荐

  1. [b0032] python 归纳 (十七)_线程同步_信号量Semaphore

    代码: # -*- coding: utf-8 -*- """ 多线程并发同步 ,使用信号量threading.Semaphore 逻辑: 多个线程,对同一个共享变量 , ...

  2. mac上安装npm

    检查brew -v是否安装了homebrew这个macOS 缺失的软件包的管理器.如果安装,跳转到第3步,否则跳转到第二步: 安装homebrew.安装跳转到官网指导.等待安装好之后,输入brew - ...

  3. 7-SQL-join连接

    (1) 内连接 关键字:inner join on select * from a_table inner join b_table on a_table.a_id = b_table.b_id; / ...

  4. [PHP] 配置vscode的语法检测消除提示Cannot validate since no PHP executable is set

    默认下载完vscode什么都不做,会提示一下信息Cannot validate since no PHP executable is set. Use the setting 'php.validat ...

  5. linux SSH设置

    环境:centos7 一. ssh连接超时设置 (1)客户端设置(推荐) 客户端是windows系统 连接工具:SecureCRT 1.SecureCRT客户端->Options(选项)-> ...

  6. 8.Python网络编程_多线程死锁

    死锁:指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死 ...

  7. apache配置文件详解(中英文对照版)

    # This is the main Apache server configuration file. It contains the # configuration directives that ...

  8. [LOJ 6432][PKUSC 2018]真实排名

    [LOJ 6432][PKUSC 2018]真实排名 题意 给定 \(n\) 个选手的成绩, 选中其中 \(k\) 个使他们的成绩翻倍. 对于每个选手回答有多少种方案使得他的排名不发生变化. \(n\ ...

  9. 中秋快乐,分享福利脑图:入门spring cloud

  10. Jenkins安装第一个插件和通过离线安装包进行安装

    1.打开左侧Manage Jenkins 选择Manage Plugins菜单 2.搜索Folders插件,该插件用于创建一个目录 3.点击安装进入插件安装状态,Jenkins会自动下载相关联的插件 ...