vue和小程序哪个好学一点_微信小程序相比 vue 缺了啥?

传任意参数的能力

vue 的父组件传值给子组件是传引用。子组件拿到的参数是 === 传入参数。微信小程序的传值是 JSON 序列化拷贝的传值。子组件拿到的是 JSON.parse(JSON.stringify(val))。

意味着传不了 function,callback,传不了 map/set,传不了任意不能 JSON 序列化回来的东西。

不支持 v-bind 和 $attrs

该特性参见:https://www.jianshu.com/p/ce8ca875c337

$attrs 类比 javascript 就是

function SomeComponet() {
  console.log(arguments):
}

SomeComponent(1)
SomeComponent(2, 'abc')

无论你传什么,arguments 都能全部捕获。

v-bind 类比 javascript 就是

function SomeComponent(a, b) {
}

SomeComponent.call(someThis, aVal, bVal);
SomeComponent.apply(someThis, [aVal, bVal]);

也就是通过 call/apply 调用变长参数列表函数的能力。

v-bind="$attrs",这个就是 apply(someThis, arguments)。透传所有参数给另外一个组件。

不支持 <component :is="">

vue 可以用名字动态调用组件。微信小程序即便有抽象节点,也不能达到 component is 的效果。remax / kbone 用 template 模拟类似的效果,但是因为不支持 v-bind 和 $attrs,只能静态生成一堆 template。

https://raw.githubusercontent.com/Tencent/kbone/eaa30c93b58136ceb22038d9c6e423bf5bf69ccd/packages/miniprogram-element/src/template/inner-component.wxml

不支持带参数的 slot

<current-user #default="{ user }">
  {{ user.firstName }}
</current-user>

vue 传入的 slot,是可以从被调组件那里拿到回调的参数的。这个类比 javascript 就是

const localProps;
const mySlot = (slotProps) => {
   // ... use localProps and slotProps
}
SomeComponent(mySlot);

传入的 slot 就是一个绑定了当前作用域上变量的闭包。这个闭包同时,又可以从参数,从被调的 SomeComponent 拿到回调的 slotProps。

微信小程序的 slot,只能拿到 localProps,拿不到 slotProps。

微信小程序的抽象节点,只能拿到 slotProps,拿不到 localProps。

微信为啥觉得“闭包”这么有用的功能是不必须的呢? 这是官方的解释: 需求:更强大的slot | 微信开放社区

结论

缺了啥,缺心眼。

好消息是,以上所有缺陷都可以通过 AOT 的方式抹平。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于创建独立的、基于Java的生产级别的应用程序的框架。它简化了Spring应用程序的配置和部署过程,提供了一种快速开发的方式。Vue是一个用于构建用户界面的JavaScript框架,它可以与Spring Boot结合使用来构建前后端分离的应用程序。微信小程序是一种基于微信平台的轻量级应用程序,可以在微信中直接使用。 结合Spring Boot、Vue微信小程序,可以实现一个完整的前后端分离的微信小程序应用。具体步骤如下: 1. 使用Spring Boot构建后端API:使用Spring Boot框架来创建后端API,处理前端请求并返回相应的数据。可以使用Spring MVC来处理请求和响应,使用Spring Data JPA来操作数据库。 2. 使用Vue构建前端界面:使用Vue框架来构建用户界面,包括页面布局、组件设计和数据交互等。可以使用Vue Router来管理页面路由,使用Vuex来管理应用状态。 3. 开发微信小程序:使用微信小程序开发工具创建一个新的小程序项目,编写小程序的界面和逻辑代码。可以使用小程序提供的API来实现与后端API的数据交互。 4. 前后端数据交互:前端通过发送HTTP请求调用后端API,后端处理请求并返回相应的数据。可以使用JSON格式来传递数据。 5. 部署和测试:将前端和后端分别部署到相应的服务器上,并进行测试和调试,确保应用程序正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值