零基础入门Vue之梦开始的地方——插值语法

这篇具有很好参考价值的文章主要介绍了零基础入门Vue之梦开始的地方——插值语法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Vue

我!作为初学者,既然要将Vue,那我一定要介绍一下他是什么?我们可以应用一下官方的话 vue的介绍

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。

由此可见,Vue是一个能让你快速将数据转化为可视化试图的框架。真是我这种不会写界面的福音啊!!

ps:根据官网描述,vue的学习是要在你会前端三剑客的前提下学的,没有学的,尤其是后端开发的人,还是先去过一遍吧。vue的学习前提


1.1 Vue安装

Vue的安装主要有两种,一种是通过<script>标签引入Vue的js文件,还有另外一种是使用npm去安装,后续在.vue文件里面去写vue的代码。

作为初学者的我,即便我会使用nodejs和npm,但奈何尚硅谷的教程是前者,所以我选择记录前者学习Vue的整体过程

所以,如果你想跟着我一起学习,请用以下方式:script标签引入


二、我的N个Vue实例

众所周知,所有语言的入门都是从“Hello world”学起,那么我也选择用我第一个Vue对象去创建一个"Hello world"出来

ps:如果你已熟悉“一”中的内容,请创建好一个html文件,并且用script标签引入vue的js文件


对于创建Vue选项,官网并没有针对于初学者有良好的引入,至少我第一次看文档的时候是蒙圈的:“这个东西咋用?”

对此,可以根据尚硅谷的课程简单入个门,当然也可以阅读他的相关代码或者demo示例。

我用以下代码来展示vue的基本用法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>梦开始的地方</title>
</head>
<body>
    <div id="root">

    </div>
</body>
<script type="text/javascript">
    new Vue({
        el:"#root", //绑定元素,el的属性值可以是dom节点也可以是css选择器
        data:{
            words:"Hello world" //这是可以存放用于展示的数据
        }
    })
</script>
</html>

在以上简单的代码中,看到vue.js的引入给我们带来了Vue的类,并且我用new创建了Vue的实例对象,Vue的构造器接收一个object对象

作为初学者,我应该知道两个重要的属性

  • el
  • data

前者用于绑定dom节点,后者用于存放数据方便展示


2.1 Vue的插值语法

既然代码基础我写好了,那我可要尝试去用用数据在页面上展示咯

根据文档的 插值语法相关事例

  • 文本
  • 原始HTML(我不学!!!)
  • 属性绑定 (Attribute)

2.1.1 文本

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>梦开始的地方</title>
</head>
<body>
    <div id="root">
        <h1>{{words}}</h1>
    </div>
</body>
<script type="text/javascript">
    new Vue({
        el:"#root", //绑定元素,el的属性值可以是dom节点也可以是css选择器
        data:{
            words:"Hello world" //这是可以存放用于展示的数据
        }
    })
</script>
</html>

"{{}}"在这个表达式里面可以写js的表达式,并且它里面的执行语句的this是vue实例,同时vue官方文档指出,在data中配置的东西最后都会通过数据代理的方式挂在到vue实例上。

也就是说可以写{{1+1}},{{words.split(" ").join(",")}}等。但不推荐将{{}}表达式写的过长,尽量一行搞定。


这样看似好像无用,但当你修改words值得时候,dom节点相关内容也要跟着绑定,不信你可以试试~


2.1.2 属性绑定

同样的道理,写上基本的代码结构,根据官方文档的介绍我们可以使用以下形式去做属性绑定

<dom v-bind:key="value"></dom>

可以在要绑定的属性值前面加上"v-bind",然后然后在值里面可以写js表达式

具体实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>梦开始的地方</title>
    <style>
        input{
            width: 200px;
            height: 20px;
        }
    </style>
</head>
<body>
    <div id="root">
        <!-- 这里是插值语法 文本 的节点 -->
        <h1>{{words}}</h1>
        <!-- 这个是插值语法 属性绑定 的节点 -->
        <input type="text" v-bind:value="sentence" />
    </div>
</body>
<script type="text/javascript">
    new Vue({
        el:"#root", //绑定元素,el的属性值可以是dom节点也可以是css选择器
        data:{
            words:"Hello world", //这是可以存放用于展示的数据
            sentence:"The world is beatiful for you."
        }
    })
</script>
</html>

从上述代码来看,当在“value”属性值前面加上了“v-bind”之后,""的作用就等同意{{}},在{{}}能写啥,双引号里面也能写啥(js表达式)


2.1.3 事件绑定

除了“v-bind” 允许你对dom节点的属性绑定之外,vue还允许你对于事件,例如“click” 进行绑定

但是,绑定的方法不能在写到data配置项!!!

在vue配置中,可将方法配置在methods中,实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>梦开始的地方</title>
    <style>
        input{
            width: 200px;
            height: 20px;
        }
    </style>
</head>
<body>
    <div id="root">
        <!-- 这里是插值语法 文本 的节点 -->
        <h1>{{words}}</h1>
        <button v-on:click="changeWords">change</button>
    </div>
</body>
<script type="text/javascript">
    new Vue({
        el:"#root", //绑定元素,el的属性值可以是dom节点也可以是css选择器
        data:{
            words:"Hello world", //这是可以存放用于展示的数据
        },
        methods:{
            changeWords(){ //实现一个changeWords方法
                this.words = "Hello Vue!";
            }
        }
    })
</script>
</html>

在以上代码中,当我按下“change”按钮时,h1标签内容会因为words属性改变而改变,此外v-on所绑定的click在双引号内部也可以写js表达式,methods和data的数据一样都是挂在到vm实例上,能够直接索引到。


三、拓展

最后呢,我根据文档(或者尚硅谷的视频)遇到一个比"v-bind"更好用的语法

对于v-bind来说,如2.1.2中的例子,我们对data内部的sentence进行修改,input输入框内容会一起改变这没问题,这实现了数据的绑定

但如果我想要修改输入框的内容,让data的sentence也跟着变化,v-bind做不到,所以文档中有另外一个方式v-model

简单来说它实现了数据和dom的双向绑定,只要有一个改变了另外一个会跟着改变

有趣的例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://v2.cn.vuejs.org/js/vue.js"></script>
    <title>梦开始的地方</title>
    <style>
        input{
            width: 200px;
            height: 20px;
        }
    </style>
</head>
<body>
    <div id="root">
        <!-- 这里是插值语法 文本 的节点 -->
        <h1>{{words}}</h1>
        <!-- 这个是插值语法 属性绑定v-model示例 的节点 -->
        <input type="text" v-model:value="words" />
    </div>
</body>
<script type="text/javascript">
    new Vue({
        el:"#root", //绑定元素,el的属性值可以是dom节点也可以是css选择器
        data:{
            words:"Hello world", //这是可以存放用于展示的数据
        }
    })
</script>
</html>

在这个代码中,input的内容改变,h1标签会跟着改变

如此,vue还真的有趣啊~

本篇结束!!!!


四、The more

关于v-bind和v-on的缩写



前往下一节:零基础入门Vue之窥探大法——计算与侦听文章来源地址https://www.toymoban.com/news/detail-797829.html

到了这里,关于零基础入门Vue之梦开始的地方——插值语法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue2实现截取视频第一帧图像作为开始封面

    要在Vue中实现截取视频的第一帧作为封面,你可以使用HTML5的元素和Canvas API来实现。loadeddata事件监听必须在视频加载完成后执行,然后通过Canvas的drawImage方法将视频帧绘制到Canvas上,并使用toDataURL方法将Canvas内容转换为Base64编码的图像数据URL 在你的Vue组件中,使用元素来加

    2024年02月12日
    浏览(36)
  • 从零开始学习Python基础语法:打开编程大门的钥匙

    重温Python,适合新手搭建知识体系,也适合大佬的温故知新~ 1.1 Python作为一种流行的编程语言的介绍 Python是一种流行的高级编程语言,以其简洁、易读和强大的特性而备受开发者欢迎。它由 Guido van Rossum 于 1991 年创建,并且在过去几十年中得到了广泛的发展和应用。 Python作

    2024年01月20日
    浏览(49)
  • 【C++】main开始的地方

    目录 1. C++ 2. 命名空间 2.1 命名空间定义 2.2 命名空间使用 3. C++输入输出 4. 缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 5. 函数重载 5.1 函数重载概念 5.2 C++支持函数重载的原理--名字修饰(name Mangling) 6. 引用 6.1 引用概念 6.2 引用特性 6.3 常引用 6.4 使用场景 6.5 传值、传

    2024年02月06日
    浏览(34)
  • LeetCode1两数之和(java实现)梦开始的地方~

    今天我们分享的题目是LeetCode的第一题,两数之和,我们先看下题目描述。 我们之前说过一个做题技巧,就是如果题目描述出现以下题眼:查找元素是否出现过,类似的我们首先先到的是使用哈希表,那么本道题我们应该选择哪一种数据结构呢? 题目要求是返回两个元素的下

    2024年01月18日
    浏览(41)
  • 我们都低估了GPT-4,它才是梦开始的地方

    从今年开始 最近这两个月 AI技术带来的冲击一个接一个 我们的团队都在忙着研究各种AI 性能力这个方面 还真不如自己马上上手 用这些软件感受来的那么强烈 我觉得至少有几个产品 大家可以去试一下 第一 大家赶紧去看一个church GBT plus的账号 然后亲身体验一下GPT4的底层能力

    2023年04月12日
    浏览(38)
  • 【Python 零基础入门】基础语法

    当我们学习一门新语言, 首先要熟悉它的语法规则. 这就如同学习一门外语, 我们需要知道句子的结构, 词汇的使用和语法的规则. 与 Java 中的 “{}” 不同, Python 使用缩进. 缩进在 Python 中非常重要, 定义了代码的结构和层次. 通常用 4 个空格作为标准的缩进 (TAP 键). 在我们编写代

    2024年02月04日
    浏览(41)
  • 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

      Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他们很难把自己的工作融入到整个组的工作中。因此,我尝试自学Django并整理出如下笔记。   在这部分,我将从Django的安装讲起,从创建项目到制

    2024年02月09日
    浏览(69)
  • Unity入门基础语法

    transform.position 世界坐标 transform.localPosition  相对坐标 设置物体的坐标: this.transform.localPosition = new Vector3(1.5f, 0, 2.0f); Update(),称为帧更新 此方法会被游戏引擎定时调用,已更新游戏的状态 Time.time 游戏启动的时间 Time.deltaTime 距上次帧更新的时间差 Unity不支持固定帧率,但可

    2024年02月03日
    浏览(84)
  • IDAPython入门基础语法

    IDAPython入门教程 基于IDA7.5_Python3 第一讲 简介与地址获取 IDAPython拥有强大的功能,在使用IDA分析程序时非常有用,可以简化许多操作例如花指令的特征码匹配修改 学习IDAPython需要了解一点Python语言的基本知识以及查询IDAPython文档 IDAPython官方文档: IDAPython documentation 直接在搜索框

    2024年02月01日
    浏览(57)
  • C++(1) —— 基础语法入门

    一、C++初识 1.1 第一个C++程序 1.2 注释  1.3 变量 1.4 常量 1.5 1.6 标识符命名规则 二、数据类型 2.1 整型 2.2 sizeof 2.3 实型(浮点型) 2.4 字符型 2.5 转义字符 2.6 字符串型 2.7 布尔类型 bool 2.8 数据的输入 三、运算符 3.1 算术运算符 3.1.1 加减乘除运算  3.1.2 取模运算

    2024年01月18日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包