Vue实例

news2024/9/28 15:25:46

1. 自定义元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .self {
            color: red;  
        }
    </style>
</head>
<body>
    <selfElement class="self">这是自定义元素</selfElement>
    <!-- 
        上面代码中,<selfElement>就是非标准元素,浏览器不认识它; 
        这段代码的运行结果是,浏览器照常显示 "这是自定义元素",这说明浏览器并没有过滤这个元素; 
        这说明,```浏览器对待自定义元素,就像对待标准元素一样```,只是没有默认的样式和行为; 
        这种处理方式是写入 HTML5 标准的; 
        上面这段话的意思是,```浏览器必须将自定义元素保留在 DOM 之中,但不会任何语义; 除此之外,自定义元素与标准元素都一致```; 
        事实上,浏览器提供了一个```HTMLUnknownElement对象,所有自定义元素都是该对象的实例```; 
     -->
</body>
</html>

在这里插入图片描述

2. 初始Vue

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 
        1. 插值表达式 {{ ... }}: 
            a. 将数据填充到HTML标签之中;
            b. 插值表达式支持基本的计算操作; 
        2. 运行过程: vue代码 -> vue框架 -> 原生js代码; 
    -->
</head>

<body>
    <div id="app">
        <div>{{msg}}</div>
        <div>{{1 + 3}}</div>
        <div>{{'i' + ' love' + ' you'}}</div>
    </div>
    <script src="../vue.js" type="text/javascript"></script>
    <script type="text/javascript">
        var vm = new Vue({                  /* el 和 data固定名字 */
            el: '#app',                     /* 元素挂载位置:值可以是css选择器或者DOM元素 */
            data: {                         /* 模型数据(值是一个对象) */ 
                msg: 'Hello World,Vue!'    
            }
        })
    </script>
</body>

</html>

在这里插入图片描述

3. Vue实例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../vue.js"></script>
    <script>
        /*
            1. 一个 Vue应用由一个通过 ```new Vue```创建的根Vue实例,以及可选的嵌套的、可复用的组件树组成; 

            2. 数据与方法:
                当一个 Vue 实例被创建时,它将 data对象 中的所有的 property 加入到 Vue 的响应式系统中; 
                当这些 property 的值发生改变时,视图将会产生“响应”,即匹配更新为新的值; 
                当这些数据改变时,视图会进行重渲染; 
                值得注意的是只有当实例被创建时就已经存在于 data 中的 property 才是响应式的; 
                也就是说如果你添加一个新的 property,比如: vm.b = 'hi', 那么对 b 的改动将不会触发任何视图的更新; 
                如果你知道你会在晚些时候需要一个 property,但是一开始它为空或不存在,那么你仅需要设置一些初始值; 
                    比如:
                    data: {
                        newTodoText: '',
                        visitCount: 0,
                        hideCompletedTodos: false,
                        todos: [],
                        error: null
                    }

            3. 这里唯一的例外是使用 Object.freeze(),这会阻止修改现有的 property,也意味着响应系统无法再追踪变化; 
                     
            4.      
                Vue实例的实行与方法:
                    它们都有前缀 $,以便与用户定义的 property 区分开来; 
                    $data:  获取Vue实例观察的数据对象;
                    $el:    获取Vue实例使用的根 DOM 元素;
                    $watch: 观察 Vue 实例上的一个表达式或者一个函数计算结果的变化;
                            当监听的表达式的值发生变化时候,将自出发callback函数; 
                            vm.$watch( expOrFn, callback, [options] )
        */
    </script>
</head>

<body>
    <div id="app">
        {{ obj }}
    </div>
    <script>
        var obj = {
            name: 'Zhang',
            age: 10
        };

        // 将失去响应式系统跟踪
        Object.freeze(obj);       

        var vm = new Vue({
            el: '#app',
            data: {
                obj: obj,
                message: 'HelloWorld',
                num: 123
            }
        });
        
        // Vue的一些实例方法:
        console.log(vm.$el === document.getElementById('app'));     //true
        console.log(vm.$data);
        vm.$watch('num',function(newValue,oldValue) {
            alert('监听到了'+ '新值:' + newValue + '     旧值:' + oldValue);
        })
    </script>
</body>

</html>

4. Vue基础

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../vue.js"></script>
    <script>
        /*
            可以看到在 Vue 构造器中有一个el 参数,它是 DOM 元素中的 id; 它是div的id;
            这意味着我们接下来的改动全部在以上指定的 div内,div外部不受影响;
            {{ }} 用于输出对象属性和函数返回值; 
            <a v-bind:[attributeName]="url"> ... </a>       // 新式属性绑定写法
        */
        /*
            Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统; 
            现在数据和 DOM 已经被建立了关联,所有东西都是响应式的(控制台修改app.message的值,视图将自动发生数据更新);
            此时我们不再和HTML元素直接进行交互了,一个Vue应用会将其挂载到一个DOM元素上; 然后对其进行完全控制;
            指令,以前缀v开始:它们会在渲染的 DOM 上应用特殊的响应式行为(打开控制台,更给app.message1的值,视图将自动更新数据); 
            v-bind:title “将这个元素节点的 title属性 和 Vue 实例的 message1 属性 保持一致”; 
        */
    </script>
</head>
<body>
    <div id="app">
        {{ message }}   <br>        
        {{ data }}      <br>
        {{ test()  }}   <br>      
        <hr>
        <span v-bind:title = "message1"> {{ message1 }} </span> <br>
        <span v-bind:[URL]="url"> {{url}} </span><br>   
        <div v-if="isSeen">现在你看到我了</div>

        <!-- 同样是响应式的,在控制台中输入app.todos.push({name:'LI',age:234}),视图将自动更新显示数据 -->
        <ul>
            <li v-for="item in todos"> {{ item.name + item.age }} </li>
        </ul>         

    </div>
    <hr>
    <hr>
    <div id="app1">
        <p>{{ message }}</p>
        <input v-model="message">
    </div>
    <script>
    var app = new Vue({
            el: '#app',     
            data: {
                message: 'HelloWorld',
                data: 'beijing',
                message1: '页面加载于' + new Date().toLocaleString(),
                isSeen: true,
                todos: [
                    {name: 'Zhang', age: 10},
                    {name: 'WAng', age: 25},
                    {name: 'Li', age: 32},
                ],
                url: "我是url"
            },
            methods: {
                test() {
                    return '通过{{}}调用函数';
                }
            }
        }); 

        /*
            Vue 还提供了 v-model 指令,它能轻松实现表单输入和应用状态之间的双向绑定; 
            v-model 主要作用于表单元素: 当表单内容发生变化时候, message数据自动同步更新; 
        */
        var app1 = new Vue({
            el: "#app1",
            data: {
                message: 'Hello Vue',
            }  
        }); 
    </script>
</body>
</html>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/586897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SocketTools .NET Edition 11.0 Crack

SocketTools .NET Edition 一套 .NET 类&#xff0c;可轻松向软件添加 Internet 功能&#xff0c;支持 .NET 4.0 至 .NET 8.0。 特征 SocketTools 提供入门所需的一切&#xff0c;包括文档和示例&#xff0c;以及免费技术支持来回答您的开发问题。 Visual Studio 2022 和 .NE…

nodejs基于vue的医院在线挂号系统

本设计是在win10操作系统环境下&#xff0c;采取nodejs作为主要编程环境&#xff0c;通过nodejs语言使用sxpress框架&#xff0c;实现医院预约挂号系统。首先用户需要选定一个医生进行预约&#xff0c;医生可以通过预约&#xff0c;这里涉及到用户到医生的数据传输&#xff0c;…

软考A计划-试题模拟含答案解析-卷十

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

网络犯罪宣传通告系统的设计与实现

摘要&#xff1a;在这个科技迅速发展的时代&#xff0c;我们迎来了互联网的时期&#xff0c;它使我们人类的生活变的更方便更快捷&#xff0c;但是它也带来了很多安全隐患。正视网络犯罪&#xff0c;正确去处理它&#xff0c;用有效的措施去预防犯罪去宣传网络犯罪的危害&#…

QT设置QPushButton样式

QPushButton *button new QPushButton("Button");// 设置样式表button->setStyleSheet("QPushButton {""background-color: rgb(181, 255, 184);""border-style: outset;""border-width: 2px;""border-radius: 10p…

Vue页面功能设计:随机生成一句名言或者励志的话

前言 最近在写自己的项目&#xff0c;发现脚注不知道写什么好。思来想去&#xff0c;反正是自己的写着玩的项目&#xff0c;没必要搞什么备案号之类的。倒不如每次加载页面的时候&#xff0c;随机生成一句名言或者励志的话激励自己。 代码实现 关于这种的功能实现&#xff0…

Games104现代游戏引擎学习笔记10

Physics Actors and Shapes Actor Static:静态actor&#xff0c;例如挡板等 Actor Dynamic&#xff1a;动态actor&#xff0c;例如可移动的箱子 Trigger&#xff1a;触发器 Actor-Kinematic&#xff1a;违背物理原则&#xff0c;由设计决定&#xff0c;不遵循真实物理原则 反物…

代码随想录算法训练营第四十三天 | 力扣 1049. 最后一块石头的重量 II, 494. 目标和, 474.一和零

1049. 最后一块石头的重量 II 题目 1049. 最后一块石头的重量 II 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#x…

Linux——什么是文件描述符?

目录 前文 一&#xff0c;为什么有文件描述符 二&#xff0c;什么是文件描述符 2.1 文件操作接口 2.2 文件描述符 三&#xff0c;文件描述符的原理 四&#xff0c;文件描述符的分配规则 前文 本文主要是详解一下文件描述符&#xff0c;我们从1.为什么&#xff1f;2.是什么&…

SpringBoot——原理(自动配置_案例(自定义阿里云文件上starter))

starter定义 starter就是springboot中的起步依赖&#xff0c;虽然springboot已经提供了很多的起步依赖&#xff0c;但是在实际项目开发中可能会用到和第三方的技术&#xff0c;不是所有第三方在springboot中都有收录。 比如之前文章中有用到过的阿里云OSS&#xff0c;阿里云并…

chatgpt赋能python:**Python中的SEO:正确与错误**

Python中的SEO&#xff1a;正确与错误 对于任何一个网站&#xff0c;无论其大小和规模&#xff0c;搜索引擎优化(SEO)都是必不可少的。作为一种流行的编程语言&#xff0c;Python也可以用来优化和改进SEO操作。在本文中&#xff0c;我们将探讨Python中对于SEO的正确和错误使用…

[笔记]C++并发编程实战 《三》线程间共享数据

文章目录 前言第3章 线程间共享数据3.1 共享数据带来的问题3.1.1 条件竞争3.1.2 避免恶性条件竞争 3.2 使用互斥量保护共享数据3.2.1 C中使用互斥量3.2.2 用代码来保护共享数据3.2.3 定位接口间的条件竞争选项1&#xff1a; 传入一个引用选项2&#xff1a;无异常抛出的拷贝构造…

vuex最详细笔记总结,这些东西你真的了解吗?

1.vuex是啥&#xff1f; 简单来说就是管理数据的,相当于一个仓库,里面存放着各种需要共享的数据,所有组件都可以拿到里面的数据 2.什么时候使用vuex 1.多个组件依赖于同一状态 2.来自不同组件的行为需要变更同一状态 总之&#xff0c;就是vuex作为一个仓库&#xff0c;任何组件…

和ChatGPT关于Swing music的一场对话(下篇)

昨天无意中刷到的系统推送的文章 点进去一看&#xff0c;原来介绍的就是老苏为了抛砖引玉编的 Swing music 的镜像&#xff0c;动作真是快啊。 坦白的说&#xff0c;文章比老苏写的好&#xff0c;所以让我纠结了好一阵子&#xff0c;本文我是发呢还是不发呢&#xff1f;不过似…

jQuery实现响应式瀑布流效果(jQuery+flex)

瀑布流原理&#xff1a;是一种常见的网页布局方式&#xff0c;它的特点是将内容以多列的形式呈现&#xff0c;每一列的内容高度不固定&#xff0c;根据内容的大小自适应调整&#xff0c;从而形成了像瀑布一样的流动效果。 瀑布流的实现原理涉及到数据加载、布局设计、图片加载和…

ML算法——KNN随笔【全国科技工作者日创作】【机器学习】

9、K-Nearest Neighbors (KNN) 9.1、理论部分 K最邻近算法 把一个物体表示成向量【特征工程】,且 KNN 需要考虑 【特征缩放】。标记每个物体的标签计算两个物体之间的距离/相似度选择合适的 K 未知点的判断基于已知点的距离&#xff0c;选出最近的K个点&#xff0c;投票选出…

pyjail初了解

前言 最近在各种比赛Misc方向都能多多小小看到Python jail题&#xff0c;通过eval或者exec等函数执行Python的代码获取shell&#xff0c;实现Python逃逸&#xff0c;但是我不是太会&#xff0c;因此找点题目做一下&#xff0c;总结一下。 常用Python的魔术方法 _init_:用于P…

chatgpt赋能python:Python中小数点保留的几种方法

Python中小数点保留的几种方法 作为一名Python工程师&#xff0c;我们经常需要对数字进行处理。在处理时&#xff0c;我们需要将数字进行格式化&#xff0c;例如保留小数点后几位或添加千位分隔符等。其中&#xff0c;保留小数点后几位是比较常见的需求。本文将介绍Python中小…

chatgpt赋能Python-python中怎么安装aip

概述 在现代的SEO中&#xff0c;使用机器学习和自然语言处理的API来分析关键字和网页内容已经成为一个普遍的实践。Google API是其中最受欢迎的一个&#xff0c;因为它可以提供多种功能&#xff0c;包括分析关键字、分析文本和图像识别等。 Python作为一种优秀的脚本语言&…

Linux Apache 配置与应用 【虚拟主机 连接保持 日志分割 分析系统 优化网页】

--------构建虚拟 Web 主机-------- 虚拟Web主机指的是在同一台服务器中运行多个Web站点&#xff0c;其中每一个站点实际上并不独立占用整个服务器&#xff0c;因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可以充分利用服务器的硬件资源&#xff0c;从而大大降低网站构建…