前言

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. debian 9安装细节

    1.安装KDE桌面 2.开机桌面正常启动,首先在grub启动界面,按"e"键,在linux......quiet后面加上nomodeset,然后进入桌面,在终端输入: su -vi ...

  2. POJ1723,1050,HDU4864题解(贪心)

    POJ1723 Soldiers 思维题. 考虑y坐标,简单的货舱选址问题,选择中位数即可. 再考虑x坐标,由于直接研究布置方法非常困难,可以倒着想:不管如何移动,最后的坐标总是相邻的,且根据贪心的思 ...

  3. 第十八篇 -- QTreeWidget应用篇 -- kuwo

    效果图: 最近学习QTreeWidget,总想着做些什么,正好学习过一点简单的爬虫,就做了一个简易的"酷我音乐下载器",界面可能不太好看,以后继续优化. ui_kuwo.py # ...

  4. document.all("div).style.display = "none"与 等于""的区别

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. String,String Builder,String Buffer-源码

    目录 String 源码分析 常用的API isEmpty() length() charAt() substring() equals() equals()与"==" inter ...

  6. P2470 压缩 TJ

    前言 洛谷题解 题目传送门 正解:区间/线性 dp(本篇题解介绍线性做法) 人生第一道紫题! 也是今天考试看自闭了就没做的 T4,结果没想到是紫,虽然是一道水紫呢-- 考试的 T5 是跳房子,蓝题 q ...

  7. 【PTA|Python】浙大版《Python 程序设计》题目集:第二章

    前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...

  8. Java流程控制02——顺序结构

  9. lerna 常用命令

    lerna 介绍 lerna 处理机构 固定模式(fixed) 所有包是统一的版本号,每次升级,所有包版本统一更新,不管这个包内容改变与否 具体体现在,lerna 的配置文件 lerna.json 中 ...

  10. Socket通信-客户端

    WSADATA wsd; SOCKET sHost; SOCKADDR_IN servAddr; if (WSAStartup(MAKEWORD(2, 2), &wsd) != 0) retu ...