分析初识vue小案例

简介: 笔记

前言


我们已经写好了一个案例:初识vue小案例

接下来我们就分析初识vue小案例


容器和vue实例是一一对应的!


容器和vue实例应该是一一对应的,不允许出现一对一或者一对多

下面是一个一个容器对多个实例的例子,这里我们把id选择器换成类选择器了

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>初始vue</title>
        <!-- 引入vue.js -->
        <script  type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!-- 准备一个容器 -->
        <div id="root">
            <!-- {{xxx}}是vue中的插值语法 -->
            <h1>hello,{{name}},我今年{{age}}岁了</h1>
        </div>
        <div id="root">
            <!-- {{xxx}}是vue中的插值语法 -->
            <h1>hello,{{name}},我今年{{age}}岁了</h1>
        </div>
        <p #a></p>
        <script type="text/javascript">
             // 设置为 false 以阻止 vue 在启动时生成生产提示。
            Vue.config.productionTip= false 
            // 创建一个vue实例
            new Vue({
                // 属性通常为key:value的形式 key是不能变得,value可以变,多个key之前用,分割 最后一个key不写,
                el:'#root', // el就是的简写element,用于指定当前vue实例为哪个容器服务,值通常为css选择器字符串
                data:{  // data用于存储数据,数据供el所指定的容器使用,可以存好几个值 也是key:value的形式
                    name:'vue',
                    age:'18'
                }
            })
        </script>
    </body>
</html>

20.png

页面上第二个容器是无法解析的

21.png

然后是一个容器对应两个实例,很明显也是不行的

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>初始vue</title>
        <!-- 引入vue.js -->
        <script  type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!-- 准备一个容器 -->
        <div id="root">
            <!-- {{xxx}}是vue中的插值语法 -->
            <h1>hello,{{name}},我今年{{age}}岁了</h1>
        </div>
        <p #a></p>
        <script type="text/javascript">
             // 设置为 false 以阻止 vue 在启动时生成生产提示。
            Vue.config.productionTip= false 
            // 创建一个vue实例
            new Vue({
                // 属性通常为key:value的形式 key是不能变得,value可以变,多个key之前用,分割 最后一个key不写,
                el:'#root', // el就是的简写element,用于指定当前vue实例为哪个容器服务,值通常为css选择器字符串
                data:{  // data用于存储数据,数据供el所指定的容器使用,可以存好几个值 也是key:value的形式
                    name:'vue',
                    age:'18'
                }
            })
             // 创建一个vue实例
             new Vue({
                // 属性通常为key:value的形式 key是不能变得,value可以变,多个key之前用,分割 最后一个key不写,
                el:'#root', // el就是的简写element,用于指定当前vue实例为哪个容器服务,值通常为css选择器字符串
                data:{  // data用于存储数据,数据供el所指定的容器使用,可以存好几个值 也是key:value的形式
                    name:'java',
                    age:'28'
                }
            })
        </script>
    </body>
</html>


22.png

只有一个容器对一个实例才是正常的

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>初始vue</title>
        <!-- 引入vue.js -->
        <script  type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!-- 准备一个容器 -->
        <div id="root">
            <!-- {{xxx}}是vue中的插值语法 -->
            <h1>hello,{{name}},我今年{{age}}岁了</h1>
        </div>
        <div id="root1">
            <!-- {{xxx}}是vue中的插值语法 -->
            <h1>hello,{{name}},我今年{{age}}岁了</h1>
        </div>
        <p #a></p>
        <script type="text/javascript">
             // 设置为 false 以阻止 vue 在启动时生成生产提示。
            Vue.config.productionTip= false 
            // 创建一个vue实例
            new Vue({
                // 属性通常为key:value的形式 key是不能变得,value可以变,多个key之前用,分割 最后一个key不写,
                el:'#root', // el就是的简写element,用于指定当前vue实例为哪个容器服务,值通常为css选择器字符串
                data:{  // data用于存储数据,数据供el所指定的容器使用,可以存好几个值 也是key:value的形式
                    name:'vue',
                    age:'18'
                }
            })
             // 创建一个vue实例
             new Vue({
                // 属性通常为key:value的形式 key是不能变得,value可以变,多个key之前用,分割 最后一个key不写,
                el:'#root1', // el就是的简写element,用于指定当前vue实例为哪个容器服务,值通常为css选择器字符串
                data:{  // data用于存储数据,数据供el所指定的容器使用,可以存好几个值 也是key:value的形式
                    name:'java',
                    age:'28'
                }
            })
        </script>
    </body>
</html>

23.png24.png

容器里面vue插值语法{{}}只能写js表达式


{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性

如果写一个不存在data的属性肯定是不可以的

image.png

26.png

但是写一些其他的是可以的,比如1+1,Date.now(),这些都是js的表达式

27.png28.png

一旦data中的数据发生变化,那么页面中用到该数据的地方也会自动更新


我们可以通过谷歌vue插件观察并且发现vue的值变化


29.png

同时可以点击value进行修改,点击后面的笔进行编辑,然后点击保存按钮保存

30.png31.png

初识vue总结


1 想让vue工作,就必须创建一个vue实例,并且传入一个配置对象(容器)

2 root容器里的代码仍然符合html规范,只不过混入了一些特殊的vue语法

3 root容器里的代码被称为vue模板

4 vue实例和容器是一一对应的

5 真实开发中只有一个vue实例,并且会配合着组件一起使用

6 {{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性

7 一旦data中的数据发生变化,那么页面中用到该数据的地方也会自动更新

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2天前
|
缓存 JavaScript 前端开发
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
10 3
|
2天前
|
缓存 JavaScript
Vue 中 computed 与 method 的区别
【10月更文挑战第15天】computed 和 method 是 Vue 中两个重要的选项,它们在功能和特点上存在着明显的区别。理解并合理运用它们的区别,可以帮助我们构建更高效、更具可维护性的 Vue 应用。在实际开发中,要根据具体情况灵活选择使用,以满足不同的需求。
5 2
|
2天前
|
JavaScript 搜索推荐 UED
vue的自定义指令
【10月更文挑战第14天】Vue 自定义指令为我们提供了一种强大的工具,使我们能够更灵活地控制和扩展 Vue 应用的行为。通过合理地使用自定义指令,可以提高开发效率,增强应用的功能和用户体验。
|
3天前
|
JavaScript
|
21小时前
|
JavaScript 前端开发 Java
vue2知识点:Vue封装的过度与动画
vue2知识点:Vue封装的过度与动画
7 0
|
2天前
|
JavaScript UED
在 Vue 中使用自定义指令
【10月更文挑战第14天】通过合理地使用自定义指令,可以为 Vue 应用带来更多的灵活性和扩展性,提高开发效率和用户体验。
|
3天前
|
JavaScript 前端开发 容器
vue的哈希模式下乾坤微应用的使用
vue的哈希模式下乾坤微应用的使用
|
4天前
|
JavaScript 前端开发 开发者
Vue v-for 进阶指南:in 与 of 的区别及应用场景 | 笔记
Vue.js 中的 v-for 是强大的遍历指令,但其中的 in 和 of 关键字往往被开发者忽视。尽管它们的用法相似,但适用的场景和数据结构却各有不同。本文将详细探讨 v-for 中 in 和 of 的区别、适用场景以及在实际开发中的最佳使用时机。通过理解它们的差异,你将能够编写更加高效、简洁的 Vue.js 代码,灵活应对各种数据结构的遍历需求。
40 6
|
4天前
|
缓存 JavaScript 前端开发
Vue 中动态导入的注意事项
【10月更文挑战第12天】 在 Vue 项目中,动态导入是一种常用的按需加载模块的技术,可以提升应用性能和效率。本文详细探讨了动态导入的基本原理及注意事项,包括模块路径的正确性、依赖关系、加载时机、错误处理、缓存问题和兼容性等,并通过具体案例分析和解决方案,帮助开发者更好地应用动态导入技术。
|
4天前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等