首页 > 其他分享 >VUE

VUE

时间:2023-05-11 22:27:02浏览次数:46  
标签:VUE console log vue vm Vue data

Vue的基本常识

Vue的使用方式

vuejs的使用官方提供了2种方式:

  1. 基于脚本导入使用,下载vue.js文件,通过script标签引入到html网页。
  2. 基于项目构建工具来进行使用,需要安装项目构建工具,自动构建成一个独立的项目。
    目前官方推荐的项目构建工具:vue-CLI,vite。

Vue调试工具Vue Devtools 谷歌浏览器插件

官网地址:https://v3.cn.vuejs.org/guide/installation.html#%E5%8F%91%E5%B8%83%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

Vue的M-V-VM思想

MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,是一种代码分工思想来的。
Model 指代的就是vue对象的data选项里面的数据。这里的数据要显示到HTML页面中。
View 指代的就是vue中数据要显示的HTML页面,也称之为“视图模板” 。
ViewModel 指代的是vue.js中我们编写代码时的创建vue实例对象vm了,它是vue.js的核心,负责连接 View 和 Model,保证视图和数据的一致性,所以前面代码中,data选项里面的数据被显示中p标签中就是vm对象自动完成的。vm对象会时刻的监控View和Model的变化,并保持双方数据的一致性!!!有时候,这个特性也叫双向数据绑定
ViewModel的创建模式

<script>
        window.onload = function () {
            let vm = Vue.createApp({
                data() {
                    return {
                        test: "111"
                    }
                },
                methods() {
                },
                components: {}
            }).mount("#app1")

            console.log(vm);
            console.log(vm.num);
            console.log(vm.$data.num);
            console.log(vm.$el);  // vm对象控制的内容范围
            console.log(vm.$el.parentElement);  // vm对象本身绑定的标签元素
            console.log(vm.$refs);
            console.log(vm.$refs.p3);
            vm.$refs.p3.style["background-color"] = "red";
        }
    </script>

Vue的常用指令

指令 (Directives) 是带有“v-”前缀的特殊属性,由vue提供的。每一个指令在vue中都有固定的作用。
在vue中提供了很多指令,常用的有:{{变量名}},v-ifv-modelv-forv-html@事件名:属性名等等。
指令会在vm对象的data选项数据发生变化时,会同时改变元素中的其控制的内容或属性。
因为vue的历史版本原因,所以有一部分指令都有两种写法:

vue1.x vue2.x以后 描述
v-html v-html 输出html内容到双标签中
v-text="普通文本" {{普通文本}} 输出纯文本内容到双标签中
v-bind:属性名 :属性名 把属性中的内容当成vue变量进行输出
v-on:事件名 @事件名 绑定事件操作

Vue属性操作

vm.$data
1. createApp中的data选项,传递到vm对象内部时,已经变成了使用Proxy对象代理的属性,可以通过`vm.$data`来查询。
vm.$el
2. vm对象在经过调用mount方法绑定HTML标签以后,这个标签代表的就是当前vm对象的可控范围,可以通过`vm.$el`属性来查询,
    通过要获取绑定vm的HTML元素,可以通过`vm.$el.parentElement`来获取。

vm.$refs  # 通过$refs来抓取
3. vm对象提供$refs可以让我们开发者直接在vm控制的视图范围,使用`ref`属性绑定任意元素,并在`vm.$refs`中获取。
    vm.$refs.p3 则表示获取视图代码中的  `ref="p3"`的标签。
    $refs只能作用一次,有多个对象只有第一个生效


--------------标签属性--------------
<标签名 :标签属性="data变量名"></标签名>
<input :type="type" :checked="checked"></input>
<p :title="str1">{{ str1 }}</p> <!-- 也可以使用v-html显示双标签的内容,{{  }} 是简写 -->
<a :href="url2">淘宝</a>
<a v-bind:href="url1">百度</a>  <!-- v-bind是vue1.x版本的写法 -->
渲染后标签数据如下

标签:VUE,console,log,vue,vm,Vue,data
From: https://www.cnblogs.com/Young-shi/p/17390649.html

相关文章

  • vue版本报错
     在引入部分加入@2声明是vue2版本即可   ......
  • vue项目中封装localStorage和sessionStorage
    1.为什么需要封装localStorage和sessionStorage?因为封装localStorage和sessionStorage可以提高程序的维护性、可重用性和扩展性,同时也可以使代码更为简单、易懂。2.以下是一个简单的代码封装示例可以新建一个utils目录文件,在该文件下新建storage.js文件进行封装//封装local......
  • vue3 setup 父页面调用子组件及子组件调用父页面方法的DEMO
    父页面调用子组件中方法父页面<template><div><!--第四步:页面使用子组件,并添加ref属性,注意ref属性不能和子组件重名--><role-cardref="roleRef"></role-card></div></template><scriptlang="ts"setup>import{ref......
  • 若依vue导入流程
     下载链接若依官方找配置后端1.下载解压vue源码2.配置maven,如有跳过3.导入idea4.修改数据库配置文件5.部署redis和mysql6.导入数据库7.启动后端springboot测试http://localhost:8080/captchaImage配置前端1.安装nodejs2.在idea的终端执行cdruoyi-uinpminstall--registry=h......
  • Vue3 + Vite4.3 + Element-Plus + TypeScript 从0到1搭建企业级后台管理系统(前后端开
    vue3-element-admin是基于vue-element-admin升级的Vue3+ElementPlus版本的后台管理前端解决方案,技术栈为Vue3+Vite4+TypeScript+ElementPlus+Pinia+VueRouter等当前主流框架。相较于其他管理前端框架,vue3-element-admin的优势在于一有一无有配套后端、无......
  • 创建vue3项目 @符号提示
    1、新建jsconfig.json如何配置以下内容即可提示{"compilerOptions":{"baseUrl":"./","paths":{"@/*":["src/*"]}}}2、实际上面配置只是联想提示作用,需要在vue.config.js或vite.config......
  • https://pengchenggang.github.io/vuejsdev-com-github 备份发布
    https://pengchenggang.github.io/vuejsdev-com-github备份发布现在还没有解决的就是开clash,代码提交不上去,只能关了提,但是关了提交,也得赶运气。提交代码体验很差~......
  • Vue3 01 -- 初识Vue3
    Vue3组合式API 在vue2的版本里,数据和函数是分开维护的,并且调用时还要用到mount或者Create。但是在vue3的版本里,经过setup的语法糖,能够实现集中式维护,一个功能写的代码能放在一起,且代码量更少了。 使用create-vue创建项目在工作目录下,用命令行运行npminitvue@latest......
  • vue+cesium实现卫星在轨绕行动画
    1、初始化蓝星首先要实现这个功能,一定要开启时间轴timeline:true,//是否显示时间线控件this.viewer=newCesium.Viewer('cesiumContainer',{    baseLayerPicker:false, //影像切换    animation:false, //是否显示动画控件......
  • vue2+van2 实现带搜索的级联选择组件
    级联选择组件新建组件-子项CasadeSelect/CasadeSelectItem.vue<template><divclass="container-list-item"><divclass="icon"><divclass="checkbox"><svg-iconv-if="curChecked"ic......