前言

class绑定

对象绑定

:class='{active:isActive}'  // 相当于class="active"
:class="'active'" // 相当于class="active" ,这里绑定的是一个字符串
:class='classObject' // 配合计算属性使用,绑定一个函数 Vue.createApp({
data(){
return {
isActive: true
}
},
computed: {
classObject(){
return{}
}
}
}).mount('dom节点')

数组语法绑定

.active{
color: red;
}
.font{
font-size: 20px;
} :class='[activeClass, fontClass]' // 绑定对应css
// 绑定三目运算,后者表示isFont为true则绑定(并上)后面的样式
:class='[isActive ? activeClass : "", isFont&&fontClass]'
:class='[{active: isActive}, fontClass]' // 也可在数组中绑定对象 Vue.createApp({
data(){
return {
isActive: true
,isFont: false
,activeClass: 'active' // 绑定style
,fontClass: 'font'
}
}
}).mount('dom节点')

组件绑定class

  • 单根组件绑定class,在组件上同样可使用数组语法绑定
  • 多根组件绑定class,视图部分的组件需class绑定,脚本部分的模板使用:class='$attrs.class绑定的节点才起作用
<todo-item :class='[{active: isActive},fontClass]'></todo-item>
<my-component :class='[{active: isActive}]'></my-component> const app = Vue.createApp({
data(){
return {
isActive: true
,fontClass: 'font'
}
}
}) // 注册组件todo-item,模板中只有一个根节点元素是单根组件
app.component('todo-item', {
template: `<li>这是文本</li>`
}) // 多根组件:模板中有多个元素节点的组件
app.component('my-component', {
template: `<li :class='$attrs.class'>这是模板中li</li>
<p>这是模板中p标签</p>`
}) const vm = app.mount('dom节点')

内联样式对象

:style='{color: colorStyle, font: fontStyle}'
:style='styleObject' // 绑定一个样式对象
:style='[baseStyles, styleObject]' // 在数组中绑定多个样式对象 Vue.createApp({
data(){
return {
colorStyle: 'red'
,fontStyle: '24px'
,styleObject: { // 样式对象
color: 'red',
fontSize: '13px'
}
}
}
}).mount('dom节点')

列表渲染

<!-- v-if的优先级高于v-for,v-if在使用v-for的遍历对象时会报错,要想同时使用,需用template标签 -->
<ul>
<template v-for="todo in todos">
<!-- 显示所有要遍历的对象的id%2=0的对象名称 -->
<li v-if='todo.id % 2== 0'>{{todo.name}}</li>
</template>
</ul> const vm = Vue.createApp({
data(){
return {
todos: [
{},{},{} // 数组对象
]
}
}
}).mount('dom节点')
  • 变更方法
vm.todos.push({id: 6, name: 'c++'})  // 例如push()可用于添加对象

  • 替换数组
vm.todos = vm.todos.filter(item => item.id% 2==0)  // filter()用于过滤,item表示要遍历的对象

多事件处理

  • 一个事件绑定多个方法
@click='one(1, $event), two($event)'  // 视图部分,同时绑定两个方法,参数$event表示事件状态

Vue.createApp({
data(){
return{}
},
methods: {
one(id, e){
console.log("id:", id, ",e:", e);
},
two(e){
console.log("two:", e)
}
}
}).mount("dom节点")

表单输入绑定

<h3>单个复选框,绑定boolean</h3>
<input type="checkbox" v-model='flag'>记住登录
<p>{{flag}}</p>
<h3>修饰符lazy,文本框失去焦点时解析</h3>
<input type="text" v-model.lazy='msg'>
{{msg}} Vue.createApp({
data(){
return{
flag: null
,msg: ''
}
}
}).mount("dom节点")

vue3.0入门(三)的更多相关文章

  1. vue3.0入门(二)

    前言 最近在b站上学习了飞哥的vue教程 学习案例已上传,下载地址 指令 #id2{ // css部分 font-size: 24px; color: green; } v-bind:href=&qu ...

  2. vue3.0入门(一)

    前言 最近在b站上学习了飞哥的vue教程 学习案例已上传,下载地址 使用方式 使用在线cdn 下载js文件并自托管,引入到项目后使用 使用npm安装后,用cli来构建项目 声明式渲染 Vue2需引入v ...

  3. vue3.0入门(五):vite构建vue项目

    使用vite构建项目步骤 安装node,cmd输入:node -v验证是否安装成功:一般node安装后会自动安装npm,cmd输入:npm -v验证是否安装成功 选择一个文件夹作为项目文件夹,搜索框输 ...

  4. vue3.0入门(四):组件

    组件 组件基础 <my-counter></my-counter> const app = Vue.createApp({ // 根组件 data() { return {} ...

  5. ASP.NET Core 1.0 入门——了解一个空项目

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  6. 【原创】NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战

    前言 本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo.服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了.同 ...

  7. Omnet++ 4.0 入门实例教程

    http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...

  8. 《VC++ 6简明教程》即VC++ 6.0入门精讲 学习进度及笔记

    VC++6.0入门→精讲 2013.06.09,目前,每一章的“自测题”和“小结”三个板块还没有看(备注:第一章的“实验”已经看完). 2013.06.16 第三章的“实验”.“自测题”.“小结”和“ ...

  9. spring web flow 2.0入门(转)

    Spring Web Flow 2.0 入门 一.Spring Web Flow 入门demo(一)简单页面跳转 附源码(转) 二.Spring Web Flow 入门demo(二)与业务结合 附源码 ...

随机推荐

  1. 分布式ID生成器(CosId)的设计与实现

    分布式ID生成器(CosId)设计与实现 CosId 简介 CosId 旨在提供通用.灵活.高性能的分布式 ID 生成器. 目前提供了俩类 ID 生成器: SnowflakeId : 单机 TPS 性 ...

  2. SpringCloud学习之【Eureka实现服务注册与发现】

    这段时间开始整理之前的SpringCloud实践笔记,这里感谢翟永超大佬的文章SpringCloud从入门到精通的指导. 项目结构 服务注册中心 注意: 1.SpringCloud与SpringBoo ...

  3. BigDecimal之除不尽报错

    当bigdecimal除不尽(循环小数)后会报错,下面的是BigDecimal ,divide方法提供的精确小数方法(推荐使用) BigDecimal avgCapital = loanAmount. ...

  4. Vue项目发布的问题--http://localhost:8088/static/fonts/fontawesome-webfont.af7ae50.woff2

    问题:ngnix将8080转成80对外访问,找不对woff2等文件 一\ 搭建环境 ngnix-->conf中 server { listen 80; server_name 10.9.240. ...

  5. SpringBoot自动装配-源码分析

    1. 简介 通过源码探究SpringBoot的自动装配功能. 2. 核心代码 2.1 启动类 我们都知道SpringBoot项目创建好后,会自动生成一个当前模块的启动类.如下: import org. ...

  6. ZooKeeper(2181、2171) 未授权访问

    下载地址http://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/ tar -xzvf zookeeper-3.4.14.tar.gz cd ...

  7. Java互联网架构师系统进阶课程 (一)【享学】

    2.线程的并发工具类 Fork-Join 什么是分而治之? 规模为N的问题,N<阈值,直接解决,N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式相同,将子问题的解合并得到 ...

  8. CentOS 永久修改系统时间

    1.查看当前系统时间 date       2.修改当前系统时间 date -s "2018-2-22 19:10:30       3.查看硬件时间 hwclock --show      ...

  9. Java后端编译

    概述 如果我们把字节码看作是程序语言的一种中间表示形式(Intermediate Representation,IR)的话, 那编译器无论在何时.在何种状态下把Class文件转换成与本地基础设施(硬件 ...

  10. 墙裂推荐!2020Android阿里&腾讯&百度&字节&美团校招面试汇总

    基本情况 2021届硕士生,Android开发岗 此文主要是2020年年初春招实习的面试和正式校招面试经验汇总,最终校招拿到了腾讯,百度,美团等offer 主要包括阿里4面,腾讯实习4面和校招4面,字 ...