vue3.0入门(二)
前言
指令
#id2{ // css部分
font-size: 24px;
color: green;
}
v-bind:href="myUrl" v-bind:id="myId" // 等同于:href="www.baidu.com" id="id2"
v-on:blur="myBlur"
Vue.createApp({
data(){
return {
myUrl: 'www.baidu.com'
,myId: 'id2'
}
},
methods: {
myBlur(){
//
}
}
}).mount("dom节点")
动态绑定参数
v-bind:[attrHref]='myUrl' // 视图部分,动态绑定的是标签的属性
data(){ // 脚本部分
return {
myUrl: 'www.baidu.com'
// ,attrHref: 'href' // 不会解析成驼峰的方式,所以这么写不起作用
,attrhref: 'href'
}
}
指令修饰符
- 更多修饰符查看文档:https://v3.cn.vuejs.org/api/directives.html#v-on
- 案例:.prevent
v-on:submit.prevent="mySubmit" // v-on的内置修饰符.prenent表示阻止表单提交
Vue.createApp({
data(){
return{}
},
methods:{
mySubmit(){
//
}
}
}).mount("dom节点")
指令缩写
- v-bind:href="myUrl" 可缩写成 :href="myUrl"
- v-on:click="mySubmit" 可缩写成 @click="mySubmit"
常用指令
data函数
- 该函数返回一个对象,并以 $data 的形式存储在组件实例中
- 操作data函数中的数据
const vm = Vue.createApp({
data(){
return{
count: 0
}
}
}).mount('#app');
// vm.count
// vm.$data
// vm.$data.count
防抖和节流
- 当用户点击提交时,每隔1秒才能提交一次,避免用户狂点,以此降低服务器压力
@click="submit"
methods: {
// 用 Lodash 的防抖函数
submit: _.debounce(function() {
// ... 响应点击 ...
console.log("提交成功!")
}, 1000)
}
计算属性
{{length > 0 ? 'Yes' : 'No'}} // 不建议在大括号中写js表达式
{{demo1}} // 使用计算属性的getter
{{demo2()}} // 在methods中解析的方式
// 计算属性和methods有同样的效果,区别:计算属性带有缓存效果,只有data发生改变时,才会调用;methods是每次调用
{{demo3}} // 使用计算属性的setter设置值
const vm = Vue.createApp({
data(){
return{}
},
computed: { // 计算属性
demo1(){
// 在此处解析js表达式
},
demo3: {
get(){ // 方法名必须是get和set,否则不起作用
// 用于获取值
},
set(newValue){ // 使用set方法必须传递参数value
// 用于设置值
}
}
},
methods: {
demo2(){
// 也可在这里解析js表达式
}
}
}).mount('#app');
侦听器
v-model='name'
Vue.createApp({
data() {
return {
name: ''
}
},
watch: { // 侦听器的关键字是watch,侦听器的目的是为了响应数据的变化
name(oldval,newval){ // 侦听器中的方法名必须和data中的属性一致
// 对改变前后数据进行操作
this.demo(newval) // 同时每次改变时,可调用方法发送请求等操作
}
},
methods: {
demo(name){
// 发送请求的方法,这里结合侦听器使用
}
}
}).mount("#app");
vue3.0入门(二)的更多相关文章
- vue3.0入门(三)
前言 最近在b站上学习了飞哥的vue教程 学习案例已上传,下载地址 class绑定 对象绑定 :class='{active:isActive}' // 相当于class="active&q ...
- vue3.0入门(一)
前言 最近在b站上学习了飞哥的vue教程 学习案例已上传,下载地址 使用方式 使用在线cdn 下载js文件并自托管,引入到项目后使用 使用npm安装后,用cli来构建项目 声明式渲染 Vue2需引入v ...
- vue3.0入门(五):vite构建vue项目
使用vite构建项目步骤 安装node,cmd输入:node -v验证是否安装成功:一般node安装后会自动安装npm,cmd输入:npm -v验证是否安装成功 选择一个文件夹作为项目文件夹,搜索框输 ...
- vue3.0入门(四):组件
组件 组件基础 <my-counter></my-counter> const app = Vue.createApp({ // 根组件 data() { return {} ...
- 企业应用架构研究系列二十七:Vue3.0 之环境的搭建与Vue Antd Admin探索
开发前端需要准备一些开发工具,这些工具怎么安装就不详细描写了,度娘一些很多很多.主要把核心的开发工具列表一些,这些资源也是非常容易找到和安装的. Node 安装:https://nodejs.org/ ...
- 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示
前言 NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能.这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2.而Netty的主要版本是Netty3和Netty ...
- Omnet++ 4.0 入门实例教程
http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...
- spring web flow 2.0入门(转)
Spring Web Flow 2.0 入门 一.Spring Web Flow 入门demo(一)简单页面跳转 附源码(转) 二.Spring Web Flow 入门demo(二)与业务结合 附源码 ...
- Swift语法基础入门二(数组, 字典, 字符串)
Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...
随机推荐
- Odoo的附件大小限制
Odoo使用binary类型来保存附件数据,可以直接支持附件数据的上传.但是在实际使用中,有可能遇到附件文件大小超过限制的情况,如下图: 但是ERP定制过程中难免会遇到客户确实需要上传超大附件,那么怎 ...
- 认识微信小程序开发页面
先认识一下开发界面,当前是上节中刚刚新建好的一个小程序. 模拟窗口当前页面的路径可以查看左下角Page Path,可以看到当前页面的路径为pages/index/index,正好和app.json里面 ...
- 最短路径问题 Dijkstra ——Python实现
# 最短路径算法 Dijkstra # 输入:含权有向图 G=(V,E),V={1,2,3...n} # 输出:G中顶点 1 到各个顶点地最短距离 Dijkstra算法各点权值变化情况: 1 ...
- jquery : 菜单根据url变颜色
//菜单根据url变颜色$(document).ready(function(){ $('#nav li a').each(function(){ if($($(this))[0].href==Str ...
- 移动APP我们需要关注什么
移动APP关注的点比web或者PC上的程序更多 1.测试用例的设计 移动互联网的快节奏,要放弃传统的测试用例编写方式,不需要写详细的测试用例,采用罗列测试点的方式如思维导图,这样既节省时间又能够直观清 ...
- Bugku-web-web8
可以看到题目提示了一个txt的东西,猜测目录下会有flag.txt这个文件. 通过代码审计我们可以知道得到flag的条件,访问flag.txt得到一串字符. 那么payload就很好构造了,$f的值是 ...
- 95后新同事年薪35W+,老员工却“自愿申请”降薪10%,中年职场人正在崩溃
蔡依林在演唱会上说过的一句话:"在乐坛摸爬滚打这么多年,遭遇了那么多质疑和嘲讽还能挺立到今天,然后想说40岁是个很棒的年纪......",让很多在职场打拼多年的老员工感慨颇深. 真 ...
- spring学习06(AOP)
9.AOP 什么是AOP AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软 ...
- vue cli中的env详解
前言 相信使用过 vueCli 开发项目的小伙伴有点郁闷,正常开发时会有三个接口环境(开发,测试,正式),但是 vueCli 只提供了两种 development,production(不包含 tes ...
- 更好地使用Atom支持基于Jupyter的Python开发
有关于使用Atom进行Python开发的网上资料比较少,最近发现使用Atom结合Hydrogen插件进行Python开发,尤其是数据挖掘相关的工作,整体体验要好于Vscode,Vscode虽然说也有连 ...