首页 > 其他分享 >Vue学习笔记1:Hello World小案例

Vue学习笔记1:Hello World小案例

时间:2023-11-05 17:47:04浏览次数:35  
标签:el Vue name 容器 实例 World data Hello

1. Hello World小案例

1.1 采用组件化模式,提高代码复用率、且让代码更好维护。

image

1.2 声明式编码,让编码人员无需直接操作DOM,提高开发效率。

image

1.3 学习Vue之前要掌握的Javascript基础知识

  • ES6语法规范
  • ES6模块化
  • 包管理器
  • 原型、原型链
  • 数组常用方法
  • axios
  • promise

VS Code插件:Live Server

1.4 Hello World小案例

  1. 现有一个容器,即:html代码
  2. 再有一个VUE实例
  3. 当VUE实例工作的时候,它通过el里指定的容器,把指定的容器(即模板)拿过来并解析内部是否有VUE相关的语法(比如下面的{{name}})。然后再结合VUE实例里的data,将模板转换为一个虚拟DOM(VM)
<div id="root">
    <h1>Hello, {{name}}</h1>
</div>
<script type="text/javascript">
    Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

    //创建Vue实例
    new Vue({
        el: '#root', //el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。
        data: { //data中用于存储数据,数据提供el所指定的容器去使用,值,我们暂时先写成一个对象。
            name: 'World'
        }
    })
</script>

容器和Vue实例是一一对应的关系。不可一个容器被多个Vue实例接管,也不可多个容器被一个Vue实例接管。
如下面的代码,两个容器各自对应一个Vue实例。

<!-- 准备好一个容器 -->
<div id="root">
    <h1>Hello, {{name}}, {{address}}</h1>
</div>

<div id="root2">
    <h1>Hello, {{name}}, {{address}}</h1>
</div>

<script type="text/javascript">
    Vue.config.productionTip = false; //阻止 vue 在启动时生成生产提示。

    //创建Vue实例
    new Vue({
        el: '#root', //el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。
        data: { //data中用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。
            name: 'World',
            address: '北京'
        }
    })
    new Vue({
        el: '#root2', //el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。
        data: { //data中用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。
            name: '世界',
            address: '北京海淀区'
        }
    })
</script>

在Vue容器中的双大括号内的是Js表达式,不是Js语句。
在Vue的Chrome插件里的第一栏,会呈现Vue的组件树,其中根节点()是容器,根节点之下是各个组件。

1.5 总结

  1. 想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象。
  2. root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法。
  3. root容器里的代码被称为【Vue模板】
  4. Vue实例和容器是一一对应的
  5. 真实开发中只有一个Vue实例,并且会配合着组件一起使用
  6. {{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性
  7. 一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更新

注意区分:js表达式 和 js代码(语句)

  1. 表达式: 一个表达式会产生一个值,可以放在任何一个需要值的地方:

    • a
    • a + b
    • demo(1)
    • x === y ? 'a' : 'b'
  2. js代码(语句)

    • if(){}
    • for(){}

标签:el,Vue,name,容器,实例,World,data,Hello
From: https://www.cnblogs.com/Ceri/p/17810737.html

相关文章

  • 在Vue 3中如何在created钩子中进行API调用?
    在Vue3中,您可以使用setup函数来替代Vue2中的created生命周期钩子,并在其中进行API调用。下面是一个示例:import{ref,onMounted}from'vue'importaxiosfrom'axios'exportdefault{setup(){//创建一个响应式变量来存储API的返回数据constdata=ref(null......
  • 手撕Vuex-模块化共享数据下
    前言好,经过上一篇的介绍,了解了Vuex当中的模块化,本章主要介绍Vuex当中的模块化共享数据下篇。我们知道在全局的Store对象当中,我们可以定义全局的数据,那么如果我们在模块当中也定义了一个属性名称和全局的属性名称相同,那么会发生什么呢?我们先来看看,在全局当中定义了一个gl......
  • .NET8 Hello World!
    使用ASP.NETCoreWebApplication模板创建的Empty项目如下:这是一个最简单的Web项目,运行起来会在根路径响应HelloWorld! Programe代码非常简洁,但内容非常不简单。varbuilder=WebApplication.CreateBuilder(args);//1创建WebApplication构建者varapp=builder.Bu......
  • 01_Vue 基本语法
    [tocc]Vue.js基本语法一、Vue基础Vue官网英文官网:https://vuejs.org/中文官网:https://cn.vuejs.orgVue概述Vue(读音/vjuː/,类似于view)是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图......
  • 03_Vue Router
    一、什么是路由路由概述路由(route)其实是一种映射关系,类似于key===>value的键值对的关系,其中key表示请求的路径path。路由是根据不同的url地址展示不同的内容或页面;路由分为前端路由和后端路由​ 前端路由:前端路由的value表示组件,一个path映射一个组件;​ 后端路由:后端路......
  • 02_Vue 组件化
    vue组件组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不能的功能模块,将来需要什么样的功能,就可以去调用。组件和模块化的不同:​ 模块化:是从代码逻辑的角度进行划分的,方便代码分层开发,保证每个功能模块职能单一​ 组件化:是从UI界面的角度进行划分的,前......
  • ASP.NET Core+Vue3 实现SignalR通讯
    从ASP.NETCore3.0版本开始,SignalR的Hub已经集成到了ASP.NETCore框架中。因此,在更高版本的ASP.NETCore中,不再需要单独引用Microsoft.AspNetCore.SignalR包来使用Hub。在项目创建一个类继承Hub,首先是写一个CreateConnection方法ConnectionId是SignalR中标识的客户端连接的唯......
  • 医院绩效考核系统全套源码,采用springboot、avue框架开发
    医院绩效考核系统全套源码(演示+自主版权+医院应用案例)医院绩效考核系统,建立以医院发展目标为导向,以医务人员劳动价值、工作量为评价基础,统筹效率、质量、成本的绩效管理和绩效工资分配体系。系统支持RBRVS(以资源为基础的相对价值比率)和DRGs(疾病诊断相关分类)。支持与HIS系统对接。......
  • Vue-I8n国际化的基本使用
    安装npminstallvue-i18n@9或yarnaddvue-i18n@9初始化国际化信息为了方便管理我们新建一个lang文件夹作为专门的国际化专用,并在lang文件夹下新建zh跟en两个文件夹。//./lang/zh/index.tsexportdefault{statusbar:{uncommit:'未提交',unpus......
  • vue学习十一
    <divid="app11"><h3>哞哞俩数计算器</h3><inputtype="number"v-model="num1"><selectv-model="chart"><optionvalue="+">+</option>......