npm init vue@latest
,选择所需配置script setup
是在单文件组件(SFC)中使用组合式API的编译时语法糖。当同时使用SFC与组合式API时该语法是默认推荐。相比于普通的语法,它具有更多优势:
标签上添加setup属性,里面的代码会被编译成组件setup()
函数的内容。这意味着与普通的
只在组件被首次引入的时候执行一次不同,
中的代码会在每次组件实例被创建的时候执行。
时,任何在
声明的顶层的绑定(包含变量、函数声明,以及import导入的内容)都能在模板中直接使用
中进行使用
初始值为 {{calcdouble(initHalf)}}
想要将某个值定义为响应式,可以使用composition Api中的ref,覆盖范围较广。
除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令 (Custom Directives)。自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。
vNameOfDirective
自动聚焦当前输入框:
autoFocus.js
const autoFocus = {
mounted: (el) => {
el.focus();
},
};
export {
autoFocus
}
页面中使用autoFocus,不符合指令规范,在引入中将其修改
自动聚焦当前输入框:
父子组件通信时大多数情况下会遇到props将参数从父组件传入子组件,使用emit将子组件某些值回传给父组件。与之前的原理相同,只是写法上略有些变化。
中使用的编译器宏。他们不需要导入,且会随着
的处理过程一同被编译掉。父组件: 引入子组件,定义传入子组件初始props值,定义子组件传出的方法并接收传出值
子组件: 接收props值,定义传出方法
我们可以在父组件通过ref获取子组件实例
父组件:
但子组件中定义的一些变量和方法我们是无法获取到的,此时在子组件中通过defineExpose
将想要被父组件访问到的内容暴露出来,我们就可以在Acom.value
中获取到啦
子组件:
结合普通script形式及setup script,对比一下增加setup语法糖后我们的代码会发生哪些不同的地方
import { Form, Input, Checkbox, Button } from "ant-design-vue";
import 'ant-design-vue/dist/antd.css';
app.use(Form);
app.use(Input);
app.use(Checkbox);
app.use(Button);
Remember me
Submit
对比后即可发现,setup语法糖形式代码行数明显减少,更加清晰明了,易于阅读
lang="ts"
可以和普通的
一起使用。普通的
在有这些需要的情况下会被使用到:
中声明的选项。例如inheritAttrs或插件的自定义选项
由于模块执行语义的差异,中的代码依赖单文件组件的上下文。当将其移动到外部的.js 或者 .ts文件中的时候,对于开发者和工具来说都会感到混乱。因此
不能和
src
属性一起使用。
总结用法,希望可以帮助到你,
我是Ably,你无须超越谁,只要超越昨天的自己就好~