首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏各类技术文章~

    来给defineComponent附魔

    点击加号的时候绑定值加一,点击减号的时候绑定值减一;大概是长这个样子的: 先上一段使用defineComponent对这个组件简单实现的源码: const DefineNumber = defineComponent 但是双向绑定的事件就不行了; 比如v-model,修改state.count的值为一个对象{},会发现v-model没有提示错误,实际上来说,目前这个版本的defineComponent(Vue@3.2.21 toFixed(0))} /> </> }) 复制代码 首先是defineComponent变成了designComponent; 然后是事件定义的写法有了不少变化。 true, }, setup() { return () => <DesignNumber/> }, }) export const DemoPage = defineComponent 当然不同的人会有不同的看法,有人可能会认为基于defineComponent封装一个designComponent,就是“你随意篡改我的歌词就是画蛇添足”,也有部分人可能会从本文的一些例子中得到启发。

    3.7K00发布于 2021-11-07
  • 来自专栏云前端

    顺藤摸瓜:用单元测试读懂 vue3 中的 defineComponent

    在结合了 TypeScript 的情况下,传统的 Vue.extend 等定义方法无法对此类组件给出正确的参数类型推断,这就需要引入 defineComponent() 组件包装函数,其在 rfc 文档中的说明为 本文将采用与本系列之前两篇相同的做法,从单元测试入手,结合 ts 类型定义,尝试弄懂 defineComponent()  的明确用法。 ?顺藤摸瓜:用单元测试读懂 vue3 watch 函数 ? ): [test case 1] 无 props   it('no props', () => {     const App = defineComponent({       setup(props == -1       }     }   } }) IV. defineComponent 函数签名 有了上面这些印象和准备,正式来看看 defineComponent() 函数的几种签名: 签名 全文总结 引入 defineComponent() 以正确推断 setup() 组件的参数类型 defineComponent 可以正确适配无 props、数组 props 等形式 defineComponent

    3.7K20发布于 2020-11-04
  • 来自专栏正则

    Vue3.0+TS打造企业级组件库

    vue3中TS如何去定义组件——Component接口 vue3中提供了一个defineComponent函数。 函数的实现直接返回了组件的定义。 如何定义Props的类型 打开src\views\Home.vue 发现初始化模板中已经实现了defineComponent函数。 比如修改src/main.js import { createApp, defineComponent, h } from 'vue' // import App from '. /components/HelloWorld.vue' const App = defineComponent({ render() { return h('div', { id: 'app 如果想正常显示可以这么写: import { createApp, defineComponent, h } from 'vue' // import App from '.

    1.3K40发布于 2021-11-04
  • 来自专栏全栈程序员必看

    Vue3—父子组件传值(子组件使用 emit 传值到父组件)

    , ref } from 'vue' export default defineComponent({ name: 'Tabs', props: { listMenu: /components/Tabs' export default defineComponent({ name: "Index", components: { Tabs }, , ref } from 'vue' export default defineComponent({ name: 'Search', props: { tip: { /components/Search' export default defineComponent({ name: "Index", components: { Search } , defineAsyncComponent } from 'vue' export default defineComponent({ name: 'About', components: {

    7.4K20编辑于 2022-08-30
  • 来自专栏各类技术文章~

    vue3.0 sfc 中 setup 的变化

    标准的sfc写法 在使用TS的情况下,标准的sfc需要借助defineComponent来进行类型推断。 <script lang="ts"> import { defineComponent } from 'vue' export default defineComponent({ 变量暴露 标准的写法 <script> import { defineComponent, ref} from 'vue' export default defineComponent({ setup /childComponent' export default defineComponent({ components: { child }, setup() { // } from 'vue' export default defineComponent({ props: ['count'], setup(props) { return {} }

    73700发布于 2021-10-05
  • 来自专栏前端文章小tips

    【VUE+TS】1.0 Vue3.0+TS打造企业级组件库

    vue3中TS如何去定义组件——Component接口 vue3中提供了一个defineComponent函数。 函数的实现直接返回了组件的定义。 如何定义Props的类型 打开src\views\Home.vue 发现初始化模板中已经实现了defineComponent函数。 比如修改src/main.js import { createApp, defineComponent, h } from 'vue' // import App from '. 如果想正常显示可以这么写: import { createApp, defineComponent, h } from 'vue' // import App from '. /assets/logo.png') //eslint-disable-line export default defineComponent({ setup() { const state

    1K11编辑于 2021-12-07
  • 来自专栏code秘密花园

    一文让你30分钟快速掌握Vue3

    , reactive, ref, toRefs } from 'vue'; export default defineComponent({ setup(props, context) { , ref } from 'vue'; export default defineComponent({ setup() { const count = ref<number>(10) , reactive, ref, toRefs } from 'vue'; export default defineComponent({ setup() { const count = , isRef, ref } from 'vue'; export default defineComponent({ setup(props, context) { const name: , reactive, ref, toRefs } from 'vue'; export default defineComponent({ setup(props, context) {

    1.7K30发布于 2020-11-03
  • 来自专栏编程微刊

    Vue3.0实现todolist-实现todolist每个组件需要的数据

    , reactive, toRefs } from "vue"; export default defineComponent({ name: "Home", props: {}, components

    <input placeholder="请输入任务名称" v-model="value" />
    </template> <script> import { defineComponent , ref } from "vue"; export default defineComponent({ name: "navHeader", setup() { let value = , ref } from "vue"; export default defineComponent({ name: "navMain", setup() { let list = ref , ref } from "vue"; export default defineComponent({ name: "navFooter", setup() { let isComplete

    32210编辑于 2022-09-28
  • 来自专栏大宇笔记

    TSX 在Vue项目的使用

    import { defineComponent } from 'vue' export default defineComponent({ render () { return

    , h } from 'vue' export default defineComponent({ props: { level: { type: Number, , openBlock as _openBlock, createBlock as _createBlock } from 'vue' export default defineComponent({ jsx 语法和vue模板语法思想大致相同,{{}}变成了{},class支持面向对象style,等… 属性 支持data,setup和基本写法 import { defineComponent, ref } from 'vue' import CustomCompent from '@/components/CustomCompent' export default defineComponent({

    2.7K10发布于 2020-12-16
  • 来自专栏编程微刊

    Vue3.0实现todolist之父子组件之间传值

    div>

    我是detail组件

    <child></child>
    </template> <script> import { defineComponent /components/child/Child.vue' export default defineComponent({ name: "Detail", components:{ child , ref } from "vue"; export default defineComponent({ name: "Child", setup() {}, }); </script> 在router /components/child/Child.vue' export default defineComponent({ name: "Detail", components:{ child 子组件接收数据 使用属性:props 专门用来接收父组件传递过来的参数的,对传递过来的数据进行校验,必须是string类型的 export default defineComponent({ name

    78120编辑于 2022-09-30
  • 来自专栏编程微刊

    Vue3.0实现todolist-实现todolist每个组件需要用到的方法

    placeholder="请输入任务名称" v-model="value" @keydown.enter="enter"/>

    </template> <script> import { defineComponent , ref } from "vue"; export default defineComponent({ name: "navHeader", setup() { let value = click="del(item,index)">删除</button>
  • </template> <script> import { defineComponent , ref } from "vue"; export default defineComponent({ name: "navMain", setup() { let list = ref , ref } from "vue"; export default defineComponent({ name: "navFooter", setup() { let isComplete

    43320编辑于 2022-09-28
  • 来自专栏明志德到的IT笔记

    Vue3从入门到精通(二)

    vue3 组件注册方式 在Vue3中,组件注册方式与Vue2中的组件注册方式有所不同,Vue3提供了defineComponent函数来定义组件。 具体步骤如下: 创建组件 使用defineComponent函数创建组件,示例如下: import { defineComponent } from 'vue' ​ export default defineComponent({ name: 'MyComponent', props: { content: { type: String, default: 需要注意的是,使用defineComponent函数创建的组件可以直接在component方法中注册,无需再进行额外的处理。 /ChildComponent.vue' ​ export default defineComponent({ name: 'ParentComponent', components

    1.1K20编辑于 2023-10-21
  • 来自专栏分享技术

    如何使用Vue 3创建可重用的自定义组件

    在Vue 3中,我们使用defineComponent函数来定义组件。 下面是一个简单的计数器组件: import { defineComponent, ref } from 'vue'; export default defineComponent({ name: 我们使用defineComponent函数来定义一个名为“Counter”的新组件。 下面是一个带有计算属性的新版本的计数器组件: import { defineComponent, ref, computed } from 'vue'; export default defineComponent 下面是一个使用watch函数的新版本的计数器组件: import { defineComponent, ref, watch } from 'vue'; export default defineComponent

    3.6K00编辑于 2023-11-29
  • 来自专栏前端小歌谣

    Vue3+typesctipt实现todolist效果

    " v-model="todoValue" @keyup="setTodoValue"/>

    </template> <script lang="ts"> import { defineComponent /hooks/index" export default defineComponent({ name:"TodoInput", setup(){ const todoValue=ref -- --> </template> <script lang="ts"> import { defineComponent,PropType } from 'vue'; import TodoItem /item.vue" import { ITodo } from '@/typings'; import { useTodo } from '@/hooks'; export default defineComponent /hooks'; import { Store, useStore } from 'vuex'; export default defineComponent({ name: 'App', components

    35920编辑于 2023-10-19
  • 来自专栏编程微刊

    Vue3.0实现todolist- ref定义单个数据和reactive定义对象类型的数据

    //www.imooc.com/learn/1300 官方文档查看文档:https://v3.cn.vuejs.org/ 1:ref定义单个数据 在vue3.0中,用谁就要引用谁 import { defineComponent , ref, reactive } from "vue"; export default defineComponent({ name: "Home", props: {}, components , obj, }; }, }); </script> <style> </style> 2:reactive定义对象类型的数据 首先引用reactive import { defineComponent , reactive } from "vue"; export default defineComponent({ name: "Home", props: {}, components: 引用toRefs 可以把reactive定义的响应式对象转换成普通对象 import { defineComponent, reactive, toRefs } from "vue"; setup()

    80130编辑于 2022-09-28
  • 来自专栏编程微刊

    Vue3.0实现todolist(新建组件)

    } from ‘vue’ 定义组件 export default defineComponent({ name: "Home", props: {}, components: { NavHeader } from ‘vue’ 通过export default导出,调用defineComponent()方法export default defineComponent 传入一个对象的参数,这个对象就是组件的配置对象 } from "vue"; export default defineComponent({ name: "Home", props: {}, components: { NavHeader // vue3需要用到的东西要从vue中解构出来 import {defineComponent} from 'vue' // 通过export default导出,调用defineComponent ()方法 export default defineComponent // 传入一个对象的参数,这个对象就是组件的配置对象,组件名称name:'Home', 接收父组件的数据props:{}, 定义子组件

    45120编辑于 2022-09-28
  • 来自专栏前端笔记ing

    Vue3 中 使用 TypeScript

    () 传入setup() 的 props 对象类型是从 props 选项中推导而来import { defineComponent } from 'vue'export default defineComponentdefineComponent 中写法defineComponent() 也可以根据 emits 选项推导暴露在 setup 上下文中的 emit 函数的类型:import { defineComponent } from 'vue'export default defineComponent({ emits: ['change'], setup(props, { emit }) { emit(' alerTest('测试') //调用子组件方法</script>选项式API + TS在Vue3 中 选项式 API 想要做类型推倒,得使用 defineComponent() 来包装组件。 Props 标注类型需要使用 defineComponent() 包装组件包裹起来,简单类型只做简单类型推倒<script lang="ts">import { defineComponent } from

    1.5K20编辑于 2023-11-05
  • 来自专栏前端开发博客

    让你30分钟快速掌握vue 3

    , reactive, ref, toRefs } from 'vue'; export default defineComponent({ setup(props, context) { , ref } from 'vue'; export default defineComponent({ setup() { const count = ref<number>(10) , reactive, ref, toRefs } from 'vue'; export default defineComponent({ setup() { const count 里面可以传方法,或者一个对象,对象中包含set()、get()方法 6.1 创建只读的计算属性 import { computed, defineComponent, ref } from 'vue'; export default defineComponent({ setup(props, context) { const age = ref(18) // 根据 age

    2.7K10发布于 2020-11-04
  • Vue3 + TS + Leafletjs 打造企业级原神大地图(高の青)

    , onMounted } from 'vue';import L from 'leaflet';export default defineComponent({ name: 'MapView', } from 'vue';import MapView from '@/components/MapView.vue';export default defineComponent({ name: , onMounted, ref } from 'vue';import L from 'leaflet';export default defineComponent({ name: 'MapView , onMounted, ref } from 'vue';import L from 'leaflet';export default defineComponent({ name: 'MapView , onMounted, ref } from 'vue';import L from 'leaflet';export default defineComponent({ name: 'MapView

    1.5K10编辑于 2024-07-03
  • 来自专栏WflynnWeb

    vue3的h函数以及tsx写法

    /child.vue'; import { defineComponent, h } from 'vue'; export default defineComponent({ setup scrollbar__thumb { background: lightblue; } </style> child 代码 <script lang="tsx"> import { defineComponent , h } from 'vue'; export default defineComponent({ setup() { return () => h('div', { style 这是子组件'); }, }); </script> <style scoped> </style> tsx 写法 示例 <script lang="tsx"> import { defineComponent /child.vue' export default defineComponent({ setup() { return () => ( <div style

    1.6K20编辑于 2022-10-28
  • 第 2 页第 3 页第 4 页第 5 页第 6 页第 7 页第 8 页第 9 页第 10 页第 11 页
    点击加载更多
    领券