V2EX agileago 的所有回复 第 1 页 / 共 2 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    agileago    全部回复第 1 页 / 共 2 页
回复总数  40
1  2  
@ZGame nextui
感觉没太大新意,没跟得上时代的发展,我觉得新一代的 vue 组件库应该是类似 nextui 那种

1. 使用 tailwind 作为样式方案
2. 完全使用 tsx 书写组件
不错
不能导出图片分享么
2023-09-25 10:50:54 +08:00
回复了 TingLen 创建的主题 Vue.js vue3 出来那么久了,有什么比较推荐的表格组件吗
不能只用 naiveui 的表格么, 其他还是用 arco-design
2023-09-23 13:59:46 +08:00
回复了 TingLen 创建的主题 Vue.js vue3 出来那么久了,有什么比较推荐的表格组件吗
https://vxetable.cn/

我觉得你不必切换,因为 naiveui 完全能调配出 arco-design 的风格,naiveui 的主题定制足够强大
2023-08-15 09:28:43 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
@yetrun 还能找出来致命缺陷么
2023-08-14 10:34:06 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
2023-08-14 10:30:33 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
@yetrun 哈哈

1. defaultProps 是 vue 需要的属性声明啊,https://cn.vuejs.org/api/options-state.html#props 这里叫 defaultProps 是因为类组件一般都是这个名字的 https://zh-hans.react.dev/reference/react/Component#static-defaultprops


2. 当然可以, 我这样写是让你一眼能看出来支持泛型 https://imgse.com/i/pPKqifH
2023-08-08 16:51:23 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
另外你说的 vue3 不能声明 slots 的类型致命缺陷,vue3-oop 同样解决

https://s1.ax1x.com/2023/08/08/pPVTA2D.png
2023-08-08 16:11:57 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
vue 本身的形式连外置声明一个属性类型都困难,更别说实现泛型组件了,这么说吧,tsx 比模版强太多了,再加上 ts 官方支持,写起来爽飞天,另外模板现在的黑魔法越来越多, 为了补足模板的功能,你看官方出了多少工具函数, 什么 defineProps, defineEmits ....., 为了 reactive 的结构又出了 toRefs.....等等,现在用模版心智负担太重,而 vue3-oop 让你忘记什么 ref, reactive,就是强调用自然符合直觉的写法来做界面开发
2023-08-07 18:26:49 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
包括你说的泛型组件,很轻易就实现了

[Imgur]( https://i.imgur.com/Nbkohba.png)
2023-08-07 18:16:35 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
跟 vue2 完全没啥关系,我是想达到一种自然的写法,你想想,你写的代码逻辑核心都在处理什么?难道不是处理变量和该变变量的函数么? 把变量和函数组织在一起的不就是类么?

下面这是个简单逻辑

```
class Count {
count = 1
add = () => this.count++
}
```

那对于界面开发,需要有渲染函数的存在, 另外得知道他是一个 vue 组件, 那就演变成下面这样子的设计

```
class Count extends VueComponent {
count = 1
add = () => this.count++

render() {
return <div OnClick={this.add}>{this.count}</div>
}
}
```

那假如数据变了, 我要通知框架我要刷新了,那我怎么告诉框架呢?就变成下面的设计了,给这个变量标记一下是可变变量,变化的时候框架会自动更新



```
class Count extends VueComponent {
@Mut() count = 1
add = () => this.count++

render() {
return <div OnClick={this.add}>{this.count}</div>
}
}
```


这个时候随着组件逻辑的增加,导致组件代码激增,你想把代码拆分出去(类似 hook), 更好维护, 那代码就演变成下面这样子


```
// 服务 类似 useHooks
class CountService extends VueService {
@Mut() count = 1
add = () => this.count++
}

class Count extends VueComponent {
countService = new CountService()

render() {
const { countService } = this
return <div OnClick={countService.add}>{countService.count}</div>
}
}
```

但是你拆分逻辑不可能只有这一个 service, 就像你拆分成 useHook 一样, 当这些服务越来越多,并且之间会相互依赖,比如, B 依赖 A ,C 依赖 B ,C 又依赖 A , 那你得代码只能这样写

```
const A = useHookA()
const B = useHookB(A)
const C = useHookC(B, A)
```

这个时候加入某个服务的依赖调整了,你要去调整这一坨必须按顺序初始化的代码,是非常烦人的, 这个时候依赖注入就出场收拾残局了

```
class A extends VueService {
}

@Injectable()
class B extends VueService {
constructor(private a: A) {
super()
}
}

@Injectable()
class C extends VueService {
constructor(private a: A, private b: B) {
super()
}
}


@Component()
class Count extends VueComponent {
constructor(private a: A, private b: B, private c: C) {
super()
}

render() {
const { a, b, c } = this
return <div OnClick={countService.add}>{countService.count}</div>
}
}
```


代码是一步一步演化的
2023-08-07 17:41:02 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
啊,真的假的,怎么会觉得复杂呢?
2023-08-07 13:53:01 +08:00
回复了 yetrun 创建的主题 Vue.js 准备写一个关于 Vue 的系列文章
大兄弟,试试 vue3-oop https://github.com/agileago/vue3-oop, 遇到的问题都不是问题
2023-06-01 11:01:11 +08:00
回复了 ZGeek 创建的主题 程序员 从学校毕业以来,你感觉到最后悔的事情是什么
后悔的太多了,最后悔的事是人生大事仓促决定,应该多思考再做决定
2023-05-23 18:14:22 +08:00
回复了 webfansplz 创建的主题 Vue.js 写一个 Vue DevTools,让开发体验飞一会儿
https://github.com/agileago/fe-template 能适配一下这个模板么
2023-05-23 18:13:15 +08:00
回复了 webfansplz 创建的主题 Vue.js 写一个 Vue DevTools,让开发体验飞一会儿
Support for the experimental syntax 'decorators' isn't currently enabled
2023-05-09 17:38:14 +08:00
回复了 tanran 创建的主题 程序员 macOS 怎样快速切换到另一个应用?
2023-05-06 17:17:43 +08:00
回复了 Hamm 创建的主题 Vue.js Vue3+TypeScript 的另一种另类的打开方式
大兄弟,搞得太复杂,前端就不要用继承了,你想用面向对象的话可以试试我的 vue3-oop https://github.com/agileago/vue3-oop

服务+依赖注入 搞定所有业务逻辑
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3142 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 24ms UTC 12:27 PVG 20:27 LAX 05:27 JFK 08:27
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86