V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Jinnrry  ›  全部回复第 29 页 / 共 44 页
回复总数  862
1 ... 25  26  27  28  29  30  31  32  33  34 ... 44  
@bladey #38 比如他需要请求我系统的用户信息接口,拿到用户相关资料。然后拿用户资料跟他系统的 id 关联,接着处理他直接的逻辑

<template>
<div class="hello">
<MyComponent ></MyComponent>
</div>
</template>

<script setup>
import { defineAsyncComponent } from 'vue'

// 创建一个 Blob ,用于生成组件的 URL
const blob = new Blob([`<template> <div> hello world! </div> </template>`], { type: 'text/plain' });
const url = URL.createObjectURL(blob);

const MyComponent = defineAsyncComponent(() => {
return import(url);
});

</script>

安装你的思路写了要给 demo ,这个会报错 Cannot find module 'blob:http://localhost:8080/f795bf43-d4b9-4332-ac54-0139c19ce4e1'
at http://localhost:8080/js/app.js:191:11
我这里,你随便看,根本没人管你。我玩了半年,现在亏了 60%,去他妈的,公司怎么不封啊
@ipwx #40 在 vue 项目里面找到一个 issues ,https://github.com/vuejs/core/discussions/6939

准备按这个思路搞,拿到字符串,调用 vue 的相关编译方法,动态编译生成组件
@lisongeee #35 编译为 js ?那 html 部分怎么处理呢? 我现在设计考虑的点是

1 、我这里能尽可能简单,同时能保证稳定性,不至于别人随便写点东西就崩了,或者别人崩了把我页面也搞崩了。

2 、别人尽可能多的复用我的样式、包等,比如我页面引入了 element-ui ,别人可以直接用 element-ui 的组件、样式等,不需要重复引入。这样才能保证最终别人嵌入的页面和我原来的页面样式差不多。

3 、对我和对别人,开发调试都简单。
@asdjgfr #33 确实可以,https://github.com/hacke2/vue-append/tree/master 这个插件基本上也是这个思路。但是这样自己搞,总觉得不够优雅,很容易出问题。
https://github.com/hacke2/vue-append/tree/master

找到一个插件,可以实现类似 v-html 的效果同时可以运行 js ,可惜是 vue2 的代码。看了下源码,思路是先加载 html ,然后找出 script 代码,使用 exec 运行一次
@asdjgfr #29 啊?这和 event 有啥关系?我也不需要处理 event 啊
@ipwx #25 那通过什么方式展示插件的页面呢? v-html 不让执行 js ,这个异步组件我翻遍中英文资料,都没找到一篇关于网络加载的。我都怀疑这玩意根本不能加载网络组件了。所有能找到的示例,都是异步加载本地的组件,优化加载速度
@bladey #23 感谢! 拿到的 html 是这样的

<template>
<div>
hello world
</div>
<script setup>
console.log("test")
</script>
</template>

也可以是标准的 html 格式。但是无论是哪张格式,都会报:Uncaught (in promise) Error: Invalid async component load result 这个错误。始终无法成功创建组件。

这个 resolve 方法里面真的是传字符串吗?
@moxxun #20 不行

const AsyncComp = defineAsyncComponent(() => {
return new Promise((resolve, reject) => {
resolve("<template> <div> hello world!! </div> </template>")
})
})


Uncaught (in promise) Error: Invalid async component load result: <template> <div> hello world!! </div> </template>

我理解,这玩意需要传一个组件的 js 对象?但是也没有哪里有说明,vue 组件格式的字符串,怎么能转对象
@moxxun #17 我看了起码 10 遍了。官方文档上面只有一句

import { defineAsyncComponent } from 'vue'

const AsyncComp = defineAsyncComponent(() => {
return new Promise((resolve, reject) => {
// ...从服务器获取组件
resolve(/* 获取到的组件 */)
})
})
// ... 像使用其他一般组件一样使用 `AsyncComp`

这个 AsyncComp 怎么能换成变量,怎么局部声明组件,实在是没找到地方介绍
@murmur #12 我其实也就是干这个事,我希望第三方可以通过某些方式,替换掉我本身的一些组件。第三方可以通过这种方式引入新的功能、或者替换我以前的功能模块
@weixind #3 大佬细说?这一句话理解不了啊
@tog #2 方案 1 的主要问题是 v-html 里面不执行 js 代码,只能插入 html 内容
@tog #2 主要是和我原来 vue 属性通讯的问题,使用 iframe 怎么把我的$http 之类的属性给到他的页面呢
@saberlove #1 太重了,就这么简单一个功能,不想引入这么重的一个依赖。三四年前用过这玩意,当时留下了难以磨灭的记忆
153 天前
回复了 kodise 创建的主题 Android 有刷一加氧 os 的吗?请教下安卓刷 rom 问题
1.一加 7 pro 到手后直接就能刷,不用线刷。新机器不确定

3.一加官方的海外站点,可以直接下载 rom 文件,不用去第三方,不过刚刚看了一眼,提示“应相关部门要求,自 2024 年 5 月 31 日起,中国大陆用户将无法访问海外社区。”

4.没用过 coloros ,氧里面没有国内的一些应用,比如公交卡。但是也没国内那些牛皮癣一样的弹窗和贴纸

5.我家路由器带梯子,所有应用谷歌市场下,没有任何问题。和氢比起来,稳定多了,氢经常出 bug
不会,因为我正在考虑买卡宴还是买极氪还是买小米
156 天前
回复了 Augus0515 创建的主题 北京 想尽办法让你消费
我身边一堆摇号 7 8 年的人,这两万个有屁用
1 ... 25  26  27  28  29  30  31  32  33  34 ... 44  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1001 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 18:35 · PVG 02:35 · LAX 10:35 · JFK 13:35
Developed with CodeLauncher
♥ Do have faith in what you're doing.