http-proxy-middleware 相关问题


Django-channels 实例关闭时间过长而被杀死

谁能告诉我可能是什么问题? 警告应用程序实例 谁能告诉我可能是什么问题? 警告应用程序实例 wait_for=> 连接 关闭时间过长并被终止。 我的阿斯吉 "^subscription", channels_jwt_middleware(MyConsumer.as_asgi(schema=schema)) ) application = ProtocolTypeRouter({ "http": django_asgi_app, "websocket": QueryAuthMiddleware( URLRouter([ subscription_url, ]) ), })``` my custom MyConsumer ```class MyConsumer(GraphQLWSConsumer): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.profile_id = None async def __call__(self, scope, receive, send): user = scope.get("user", None) time_zone = await get_current_timezone(user) self.profile_id = scope.get("active_profile_id", None) self.timezone = time_zone if time_zone else settings.TIME_ZONE await super().__call__(scope, receive, send) async def connect(self): await super().connect() await change_status(True, self.profile_id) async def disconnect(self, close_code, *args, **kwargs): await super().disconnect(close_code) await change_status(False, self.profile_id)``` 解决我的问题 daphne -b 0.0.0.0 -p $SERVER_PORT --application-close-timeout 60 --proxy-headers server.asgi:application


使用python的mechanize自动网站登录

我正在尝试自动登录一个网站,该网站的登录表单具有以下 HTML 代码(摘录): 我正在尝试自动登录一个网站,其登录表单具有以下 HTML 代码(摘录): <tr> <td width="60%"> <input type="text" name="username" class="required black_text" maxlength="50" value="" /> </td> <td> <input type="password" name="password" id="password" class="required black_text" maxlength="50" value="" /> </td> <td colspan="2" align="center"> <input type="image" src="gifs/login.jpg" name="Login2" value="Login" alt="Login" title="Login"/> </td> </tr> 我正在使用python的mechanize模块进行网页浏览。以下是代码: br.select_form(predicate=self.__form_with_fields("username", "password")) br['username'] = self.config['COMMON.USER'] br['password'] = self.config['COMMON.PASSWORD'] try: request = br.click(name='Login2', type='image') response = mechanize.urlopen(request) print response.read() except IOError, err: logger = logging.getLogger(__name__) logger.error(str(err)) logger.debug(response.info()) print str(err) sys.exit(1) def __form_with_fields(self, *fields): """ Generator of form predicate functions. """ def __pred(form): for field_name in fields: try: form.find_control(field_name) except ControlNotFoundError, err: logger = logging.getLogger(__name__) logger.error(str(err)) return False return True return __pred 不知道我做错了什么...... 谢谢 该网站有可能在登录期间使用java脚本进行回发。我记得很清楚,对于 ASP .Net 站点,您需要获取隐藏表单字段,例如 VIEWSTATE 和 EVENTTARGET 并将它们发布到新 Page 。 您为什么不发送问题网站的链接?之后就变得相对容易弄清楚了 尝试使用 Selenium 和 PhantomJS from selenium import PhantomJS import platform if platform.system() == 'Windows': # .exe for Windows PhantomJS_path = './phantomjs.exe' else: PhantomJS_path = './phantomjs' service_args = [ # Proxy (optional) '--proxy=<>', '--proxy-type=http', '--ignore-ssl-errors=true', '--web-security=false' ] browser = PhantomJS(PhantomJS_path, service_args=service_args) browser.set_window_size(1280, 720) # Window size for screenshot (optional) login_url = "<url_here>" # Credentials Username = "<insert>" Password = "<insert>" # Login browser.get(login_url) browser.save_screenshot('login.png') print browser.current_url browser.find_element_by_id("<username field id>").send_keys(Username) browser.find_element_by_id("<password field id>").send_keys(Password) browser.find_element_by_id("<login button id>").click() print (browser.current_url) browser.get(scrape_url) print browser.page_source browser.quit() ''' python 和 pycharm 设置路径变量 点维辛检查 包管理器 python 如何安装新版本 python最新版本 - python 3.7.2 用户环境变量 蟒蛇 pyton 中的命令行 '''


为什么“keyof”对类构造函数返回的 Proxy() 内的泛型类型不起作用?

我在 Proxy() 内结合使用泛型类型和 keyof 时遇到问题: 下面的示例代码不起作用,并抱怨没有任何可分配的类型: 接口 SomeDataStruct...


将代理设置为 selenoid webdriver

我使用网络驱动程序连接到硒化物容器 从硒导入网络驱动程序 从 selenium.webdriver.common.proxy 导入代理,代理类型 proxy = '代理地址' 链接 = '2ip.ru' 能力=...


带有 nginx-proxy 的 Docker:不允许附加属性名称

从 ubuntu 18 升级到 Ubuntu 20.04.6 LTS 后 Docker 停止工作 我正在使用 docker-compose 但它完全停止工作。所以我切换到“docker compose” 我现在正在尝试...


API 网关调用 Lambda {proxy+} 函数 - 内部服务器错误

我有一个具有以下 API 端点的 API 网关: 当我尝试测试它时,出现以下错误: 请求:/connect/list_users 状态:500 延迟:29 毫秒 响应体 {“message”:“国际米兰...


SAS/WPS HTTP PROC 基本身份验证

我尝试使用 WPS 从 JIRA REST API 获取数据。我使用 HTTP PROC 调用 JIRA Rest api。 过程http 方法=“获取” url =“http://服务器名称:8080/rest/api/2/search?%str(&)fields=pro...


错误:cvc-elt.1.a:找不到元素“beans”的声明

添加此代码时,出现此错误,我尝试将 beans:beans 添加到标记中,但随后出现相同的错误,请帮我解决此问题 添加此代码时,出现此错误,我尝试将 beans:beans 添加到标签中,但随后出现相同的错误,请帮我解决这个问题 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <bean id="testBean" class="alishev.spring.demo.TestBean"> <constructor-arg value="Neil"/> </bean> </beans> 您拥有 xmlns:beans="http://www.springframework.org/schema/beans",这意味着您需要为该命名空间中的所有标签添加前缀 beans:。 从 :beans 中删除 xmlns:beans="http://www.springframework.org/schema/beans",这样您的 XML 应如下所示 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <bean id="testBean" class="alishev.spring.demo.TestBean"> <constructor-arg value="Neil"/> </bean> </beans>


Vite-Vue 应用 HTTP 请求重定向 - DEV 模式

我想在开发模式(npm)上将 HTTP 请求的基本 URL 从 Vite 应用程序的主机地址(http://localhost:5173)更改为我的 ASP .NET API 的主机地址(http://localhost:5815)运行开发)。 但我有这样的


为什么我的 React 应用程序在 http://localhost:3000/static/js/bundle.js 处显示错误

启动我的 React 应用程序时收到以下消息: 错误[对象对象]在handleError(http://localhost:3000/static/js/bundle.js:56279:58)在http://localhost:3000/static/js/bundl...


如何使 yfinance 通过 HTTP(S) 或ocks5 代理工作?

雅虎网站可以通过浏览器中的2081端口打开(在Firefox中为HTTP和HTTPS设置代理端口2081)。端口 2081 提供 HTTP(S) 代理。 2080端口提供SOCKS5代理服务: 网址=“...


将数字转换为英文字符串

像http://www.easysurf.cc/cnvert18.htm和http://www.calculatorsoup.com/calculators/conversions/numberstowords.php这样的网站尝试将数字字符串转换为英文字符串,但是它们。 ..


耶拿有没有办法看到OntClass来自导入的本体?

我有一个导入 bfo 的本体。在我的测试用例中,我只有一个类,它是实体的子类: 我有一个导入bfo的本体。在我的测试用例中,我只有一个类,它是 entity: 的子类 <rdf:RDF xmlns="http://my.ontology/ontologyTest#" xml:base="http://my.ontology/ontologyTest" xmlns:da="http://my.ontology/ontologyTest#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:obo="http://purl.obolibrary.org/obo/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:terms="http://purl.org/dc/terms/"> <owl:Ontology rdf:about="http://my.ontology/ontologyTest"> <owl:imports rdf:resource="http://purl.obolibrary.org/obo/bfo/2019-08-26/bfo.owl"/> </owl:Ontology> <owl:Class rdf:about="http://my.ontology/ontologyTest#Event"> <rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/BFO_0000001"/> </owl:Class> </rdf:RDF> 当我打开本体时,我正在做: OntModel model = createModel("OWL_MEM"); FileManager.get().readModel(model, uri.toString()); Model _model = model.getRawModel(); model = new OntModelImpl(OntModelSpec.OWL_MEM, _model); ExtendedIterator classes = model.listClasses(); while (classes.hasNext()) { OntClass theOwlClass = (OntClass) classes.next(); if (thisClass.getNameSpace() == null && thisClass.getLocalName() == null) { continue; } ... } 我从我的本体中获取所有类(这里是Event),也从导入的本体中获取。 Jena 有没有办法知道 OntClass 是来自导入的本体并且未在我当前的本体中声明? 正如 UninformedUser 的评论中所说,感谢他,您可以执行以下操作: 列出所有导入本体的URI model.listImportedOntologyURIs() 列出导入本体的所有类model.getImportedModel(uri).listClasses() 在模型的所有类上创建一个迭代器,删除所有导入的类model.listClasses().filterDrop(importedClasses::contains) 因此,要打印模型的所有类而无需导入类: import java.util.HashSet; import java.util.Set; import org.apache.jena.ontology.OntClass; import org.apache.jena.ontology.OntModel; import org.apache.jena.ontology.OntModelSpec; import org.apache.jena.rdf.model.ModelFactory; import org.apache.jena.util.iterator.ExtendedIterator; OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM); model.read("file:///Users/von/tools/data.owl", "RDF/XML"); Set<OntClass> importedClasses = new HashSet<>(); for (String uri : model.listImportedOntologyURIs()) { importedClasses.addAll(model.getImportedModel(uri).listClasses().toSet()); } ExtendedIterator<OntClass> it = model.listClasses().filterDrop(importedClasses::contains); while (it.hasNext()) { OntClass cls = it.next(); System.out.println(cls); }


使用 docker-compose 从其他容器通过 RPC over HTTP 连接到 geth docker 服务器:403 客户端错误:禁止 url

我正在尝试通过 RPC over HTTP 连接到 docker 容器中的 geth 节点。当我从主机连接并使用 URL http://localhost:8545 和 Web3.HTTPProvider 实例时,它工作正常......


Ngrok“HTTP 错误 404”。找不到所请求的资源

错误图片 我尝试使用“ngrok”执行我的 django-app。添加了 url 到“ALLOWED_HOSTS”和其他需要的变量。我做了“py manage.py runserver”和“ngrok http ...


错误 TS1192:模块“http”没有默认导出

信息:node_modules/node-expose-sspi/dist/sso/client.d.ts:3:8 - 错误 TS1192:模块“http”没有默认导出。 在我安装了node-expose-sspi之后,然后编译了Angular项目(v...


如何比较两个网址,一个带www,另一个不带www

我正在尝试比较 2 个网址,例如 http://www.example.com 和 http://example.com ,期望输出结果是它们相似。 我使用 Uri 类来表示...


使用 .htaccess 删除 .html 和 .php 扩展名

如何从网页中删除文件类型,而不创建新目录并将文件命名为index.php。我希望将 http://example.com/google.html 更改为 http://example.com/google。 我该怎么去…


即使我通过 RESTHeart 5.1.5 执行 POST 来添加文档,为什么 Mongo DB 仍检查 _etag?

使用 RESTHeart 5.1.5,我尝试通过 HTTP POST 将文档添加到集合 myapp 中。 POST http://xyz:9998/logs/myapp?checkETag=false { “差异”:{ “地址”: { &


HTTP POST 响应失败 角度 16

我对http失败响应“未知错误”感到困扰,但我没有找到问题出在哪里。 使用 PDO,当我使用 messageText“string”将对象发送到 Mysql 服务器登录时...


Flutter http 包导致“flutter build web”构建失败

我正在使用 Docker 在容器中运行 Web 版本的 Flutter。我已经能够让这个工作了;但是,一旦我在 main.dart 文件中导入 http 包(导入“package:http/http.dart”)...


Drupal 站点通过 HTTPS 加载,但请求不安全的样式表

在 Drupal 中将 HTTP 转换为 https 时遇到以下问题 网站已使用 HTTPS 加载,但请求了不安全的样式表 'http://fonts.googleapis.com/css?family=Open+Sans:reg...


自定义 Weblogic HTTP 扩展日志记录格式

当前在我的 weblogic 服务器中我已启用 HTTP 日志记录。以下是当前配置。 格式为“扩展”。 扩展日志格式字段为“日期时间 cs-method cs-uri sc-status time...


SSL_read 当不再接收来自 HTTP 服务器的响应时卡住

当 HTTP 服务器完成发送信息时,即使服务器完成发送数据,SSL_read 函数也会陷入等待响应的状态。 我尝试使用 SSL defa 检查错误...


为什么我的卷曲出现超时错误?

我的代码是: 公共函数 sendPostData() { $url = "http://$this->cPdomain/$this->serverScriptFile"; $cPUser = $this->cPanel->用户; $数据=“...


OpenAPI 生成器 - Java 11 本机 HTTP 客户端模板:如何添加自定义标头

我正在使用 OpenAPI Generator 为符合 swagger 标准的服务生成 Java 11 HTTP 客户端。 问题是:该服务需要基本身份验证,但它不会使用 WWW-


从 JMeter HTTPSampler 中删除 Content-Type 标头

我有一个针对 Web 应用程序的 JMeter (2.12 r1636949) 测试计划。线程组中的一个有问题的步骤是应用程序中远程 URI 的 HTTP 采样器,该采样器需要不带 Con 的 HTTP POST...


Istio AuthorizationPoicy 和服务在分离的端口上(不包括端口)

我为我们的 mailhog kubernetes 服务应用了这样的 AuthorizationPolicy,该服务在 80 上发布 HTTP 端口,在 25 上发布 SMTP,以便仅对授权用户重新访问其 HTTP 服务。 api版本:


将 Spring Security 5 迁移到 Spring Security 6 HttpSecurity 问题

Spring Security 6 中以下代码应该替代什么? http .authorizeRequests() .requestMatchers("/hub/**").access("hasPermission('SOME_LAYER', '')")...


为使用企业级边缘的 Azure 静态 Web 应用程序启用 http 到 https 重定向

URL https://example.com 有效,但 http://example.com 无效。它说找不到,而不是重定向。我使用的是企业级边缘,而不是 Azure Front Door。 我已经搜索了文档...


在 PHP 中解析 HTTP 'Last-Modified' 日期字符串

我正在使用 FileAPI 获取文件的 HTTP 标头上次修改时间,该文件返回以下字符串: 2013 年 10 月 25 日星期五 12:04:10 GMT+0100(GMT 夏令时间) 然后将其发布到 PHP...


仅针对某些状态代码重试 HTTP 请求

在我的 Angular 应用程序中,我想对后端服务器进行 HTTP 调用。为了使其更具弹性,我添加了一个拦截器来实现重试模式。 我曾经利用过RxJS的retryWhen open...


成功发送的 FCM 有效负载是否应该收到确认 ID? [HTTP V1 API]

我正在尝试使用 Firebase HTTP V1 API 触发推送通知,并且我已经克服了一些错误,以便将 FCM 成功发送到 Firebase。 我对我的节目感到困惑......


需要Arduino/ESP32的示例代码来通过http或ftp下载.bin文件进行OTA更新

我有很多ESP32设备分发给我的客户,但手动更新代码并不容易。 最好的方法是让 Arduino 通过 http 下载(通过指令).bin 文件并更新


HTTP 调用需要 4 分钟以上才能在 Azure Functions 上看到它

自上周以来,我们在向 Azure 函数发出 HTTP 请求时开始看到奇怪的行为。 一些背景: 这是一个 Linux 计划,在 P1v3 层上运行,1 个实例,始终开启,因为...


C# HTTP 触发函数处理了一个请求。令牌请求失败

我收到以下记录:[错误] C# HTTP 触发器函数处理了请求。令牌请求失败。当我从门户运行 Azure Function 时。 当我从 Visual Studio 测试/运行应用程序时(在我的


API 不工作/http 错误 SocketException:在发布版本中查找主机失败(在调试模式下工作)对于 Flutter

获取有关 path_provider-1.5.1 和 API 不工作的一些注释,我通过 http/dio 在 Release Build(在调试模式下工作)中集成了 Flutter。 笔记: /home/webelightpc/文档/


HTTP 错误 500.37 - ASP.NET Core 应用程序无法在启动时间限制内启动

将新的 .net 8 项目部署到 Windows 2022 服务器和 IIS 中时,尝试启动它时出现此错误: HTTP 错误 500.37 - ASP.NET Core 应用程序无法在启动时启动 时间限制


无法使用 Arduino IDE 和节点 mcu 通过 http 请求向 Autodesk tandem 发送数据

我希望有人可以帮助我更新下面的代码,以便使用arduino ide通过http请求将数据发送到Autodesk Tandem上的数字孪生流,请找到下面的代码 #包括<


有什么方法可以将EventBridge事件发送到自定义http端点

我正在尝试将事件发送到 EventBridge 到我的服务端点,并以事件作为负载,现在我的服务正在 ec2 实例和特定 VPC 的一部分上运行,并且正在侦听 http re...


flutter中如何区分网络图片和文件图片?

我很难区分网络图像和文件图像。 putImage(图像){ if(image.runtimeType == String){ // if(image.contains('http')){ imageInProfile = NetworkIm...


安装Spring Boot执行器

我有一个 SpringBoot 应用程序,其配置在端口 8081 上运行: @豆 public SecurityFilterChain filterChain(HttpSecurity http) 抛出异常 { http.csrf(AbstractHttpConf...


在 codeigniter 中启用 cors(restserver by @chriskacerguis)

http.get 请求工作正常。 当 api 移动到服务器时,出现了问题。 客户端使用 angularJs $http.get('http://example.com...


servlet 中的 Http 错误 404:找不到该网址的网页

PrintNamesServlet.java: 该 Servlet 打印输入的用户名称。 导入 javax.servlet.ServletException; 导入 javax.servlet.annotation.WebServlet; 导入 javax.servlet.http.HttpServlet; 我...


datapower 中 http://blah.blah:9090 处的偏移量 0 处标记不完整或缺少文档元素

当我尝试使用 JSON 请求进行测试时,在 datapower 中的 http://blah.blah:9090 的偏移量 0 处出现错误:标记不完整或缺少文档元素。 MPG 服务具有请求和响应类型...


Ruby https POST 带标题

如何在 Ruby 中使用 json 制作带有标头的 Https 帖子? 我努力了: uri = URI.parse("https://...") https = Net::HTTP.new(uri.host,uri.port) req = Net::HTTP::Post.new(uri.path) ...


Vue 3如何获取$children的信息

这是我在 Tabs 组件中使用 VUE 2 的旧代码: 创建(){ this.tabs = this.$children; } 标签: .... 这是我在 Tabs 组件中使用 VUE 2 的旧代码: created() { this.tabs = this.$children; } 标签: <Tabs> <Tab title="tab title"> .... </Tab> <Tab title="tab title"> .... </Tab> </Tabs> VUE 3: 如何使用组合 API 获取有关 Tabs 组件中子项的一些信息?获取长度,迭代它们,并创建选项卡标题,...等?有任何想法吗? (使用组合API) 这是我现在的 Vue 3 组件。我使用 Provide 来获取子 Tab 组件中的信息。 <template> <div class="tabs"> <div class="tabs-header"> <div v-for="(tab, index) in tabs" :key="index" @click="selectTab(index)" :class="{'tab-selected': index === selectedIndex}" class="tab" > {{ tab.props.title }} </div> </div> <slot></slot> </div> </template> <script lang="ts"> import {defineComponent, reactive, provide, onMounted, onBeforeMount, toRefs, VNode} from "vue"; interface TabProps { title: string; } export default defineComponent({ name: "Tabs", setup(_, {slots}) { const state = reactive({ selectedIndex: 0, tabs: [] as VNode<TabProps>[], count: 0 }); provide("TabsProvider", state); const selectTab = (i: number) => { state.selectedIndex = i; }; onBeforeMount(() => { if (slots.default) { state.tabs = slots.default().filter((child) => child.type.name === "Tab"); } }); onMounted(() => { selectTab(0); }); return {...toRefs(state), selectTab}; } }); </script> 选项卡组件: <script lang="ts"> export default defineComponent({ name: "Tab", setup() { const index = ref(0); const isActive = ref(false); const tabs = inject("TabsProvider"); watch( () => tabs.selectedIndex, () => { isActive.value = index.value === tabs.selectedIndex; } ); onBeforeMount(() => { index.value = tabs.count; tabs.count++; isActive.value = index.value === tabs.selectedIndex; }); return {index, isActive}; } }); </script> <template> <div class="tab" v-show="isActive"> <slot></slot> </div> </template> 哦伙计们,我解决了: this.$slots.default().filter(child => child.type.name === 'Tab') 对于想要完整代码的人: 标签.vue <template> <div> <div class="tabs"> <ul> <li v-for="tab in tabs" :class="{ 'is-active': tab.isActive }"> <a :href="tab.href" @click="selectTab(tab)">{{ tab.name }}</a> </li> </ul> </div> <div class="tabs-details"> <slot></slot> </div> </div> </template> <script> export default { name: "Tabs", data() { return {tabs: [] }; }, created() { }, methods: { selectTab(selectedTab) { this.tabs.forEach(tab => { tab.isActive = (tab.name == selectedTab.name); }); } } } </script> <style scoped> </style> 标签.vue <template> <div v-show="isActive"><slot></slot></div> </template> <script> export default { name: "Tab", props: { name: { required: true }, selected: { default: false} }, data() { return { isActive: false }; }, computed: { href() { return '#' + this.name.toLowerCase().replace(/ /g, '-'); } }, mounted() { this.isActive = this.selected; }, created() { this.$parent.tabs.push(this); }, } </script> <style scoped> </style> 应用程序.js <template> <Tabs> <Tab :selected="true" :name="'a'"> aa </Tab> <Tab :name="'b'"> bb </Tab> <Tab :name="'c'"> cc </Tab> </Tabs> <template/> 我扫描子元素的解决方案(在对 vue 代码进行大量筛选之后)是这样的。 export function findChildren(parent, matcher) { const found = []; const root = parent.$.subTree; walk(root, child => { if (!matcher || matcher.test(child.$options.name)) { found.push(child); } }); return found; } function walk(vnode, cb) { if (!vnode) return; if (vnode.component) { const proxy = vnode.component.proxy; if (proxy) cb(vnode.component.proxy); walk(vnode.component.subTree, cb); } else if (vnode.shapeFlag & 16) { const vnodes = vnode.children; for (let i = 0; i < vnodes.length; i++) { walk(vnodes[i], cb); } } } 这将返回子组件。我对此的用途是我有一些通用的对话框处理代码,用于搜索子表单元素组件以咨询其有效性状态。 const found = findChildren(this, /^(OSelect|OInput|OInputitems)$/); const invalid = found.filter(input => !input.checkHtml5Validity()); 如果你复制粘贴与我相同的代码 然后只需向“选项卡”组件添加一个创建的方法,该方法将自身添加到其父级的选项卡数组中 created() { this.$parent.tabs.push(this); }, 使用脚本设置语法,您可以使用useSlots:https://vuejs.org/api/sfc-script-setup.html#useslots-useattrs <script setup> import { useSlots, ref, computed } from 'vue'; const props = defineProps({ perPage: { type: Number, required: true, }, }); const slots = useSlots(); const amountToShow = ref(props.perPage); const totalChildrenCount = computed(() => slots.default()[0].children.length); const childrenToShow = computed(() => slots.default()[0].children.slice(0, amountToShow.value)); </script> <template> <component :is="child" v-for="(child, index) in childrenToShow" :key="`show-more-${child.key}-${index}`" ></component> </template> 我对 Ingrid Oberbüchler 的组件做了一个小改进,因为它不支持热重载/动态选项卡。 在 Tab.vue 中: onBeforeMount(() => { // ... }) onBeforeUnmount(() => { tabs.count-- }) 在 Tabs.vue 中: const selectTab = // ... // ... watch( () => state.count, () => { if (slots.default) { state.tabs = slots.default().filter((child) => child.type.name === "Tab") } } ) 我也遇到了同样的问题,在做了很多研究并问自己为什么他们删除了$children之后,我发现他们创建了一个更好、更优雅的替代方案。 这是关于动态组件的。 (<component: is =" currentTabComponent "> </component>). 我在这里找到的信息: https://v3.vuejs.org/guide/component-basics.html#dynamic-components 希望这对你有用,向大家问好!! 我发现这个更新的 Vue3 教程使用 Vue 插槽构建可重用的选项卡组件对于与我相关的解释非常有帮助。 它使用 ref、provide 和ject 来替换我遇到同样问题的this.tabs = this.$children;。 我一直在遵循我最初发现的构建选项卡组件(Vue2)的教程的早期版本创建您自己的可重用 Vue 选项卡组件。 根据 Vue 文档,假设您在 Tabs 组件下有一个默认插槽,您可以直接在模板中访问该插槽的子级,如下所示: // Tabs component <template> <div v-if="$slots && $slots.default && $slots.default()[0]" class="tabs-container"> <button v-for="(tab, index) in getTabs($slots.default()[0].children)" :key="index" :class="{ active: modelValue === index }" @click="$emit('update:model-value', index)" > <span> {{ tab.props.title }} </span> </button> </div> <slot></slot> </template> <script setup> defineProps({ modelValue: Number }) defineEmits(['update:model-value']) const getTabs = tabs => { if (Array.isArray(tabs)) { return tabs.filter(tab => tab.type.name === 'Tab') } else { return [] } </script> <style> ... </style> 并且 Tab 组件可能类似于: // Tab component <template> <div v-show="active"> <slot></slot> </div> </template> <script> export default { name: 'Tab' } </script> <script setup> defineProps({ active: Boolean, title: String }) </script> 实现应类似于以下内容(考虑一组对象,每个部分一个,带有 title 和 component): ... <tabs v-model="active"> <tab v-for="(section, index) in sections" :key="index" :title="section.title" :active="index === active" > <component :is="section.component" ></component> </app-tab> </app-tabs> ... <script setup> import { ref } from 'vue' const active = ref(0) </script> 另一种方法是使用 useSlots,如 Vue 文档(上面的链接)中所述。 在 3.x 中,$children 属性已被删除并且不再受支持。相反,如果您需要访问子组件实例,他们建议使用 $refs。作为数组 https://v3-migration.vuejs.org/writing-changes/children.html#_2-x-syntax 在 3.x 版本中,$children 已被删除且不再受支持。使用 ref 访问子实例。 <script setup> import { ref, onMounted } from 'vue' import ChildComponent from './ChildComponent .vue' const child = ref(null) onMounted(() => { console.log(child.value) // log an instance of <Child /> }) </script> <template> <ChildComponent ref="child" /> </template> 详细信息:https://vuejs.org/guide/essentials/template-refs.html#template-refs 基于@Urkle的回答: /** * walks a node down * @param vnode * @param cb */ export function walk(vnode, cb) { if (!vnode) return; if (vnode.component) { const proxy = vnode.component.proxy; if (proxy) cb(vnode.component.proxy); walk(vnode.component.subTree, cb); } else if (vnode.shapeFlag & 16) { const vnodes = vnode.children; for (let i = 0; i < vnodes.length; i++) { walk(vnodes[i], cb); } } } 除了已接受的答案之外: 而不是 this.$root.$children.forEach(component => {}) 写 walk(this.$root, component => {}) 这就是我让它为我工作的方式。


Llama-index 如何针对 OpenSearch Elasticsearch 索引执行搜索查询?

我有以下代码,可以在 Opensearch Elasticsearch 中创建索引: def openes_initiate(文件): 端点 = getenv("OPENSEARCH_ENDPOINT", "http://localhost:9200&...


自定义 http 用户代理字符串的最佳实践? [已关闭]

我正在开发一个使用 HTTP 与内部 Web 服务通信的应用程序。 是否有任何自定义用户代理字符串的“最佳实践”,以便我可以在我的应用程序中放置一个好的字符串?这是一个


如何从 jsonresult 响应自动生成 OpenAPI 文档?

Swashbuckle可以根据代码自动生成API文档(有详细返回模型) [http获取] 公共 ActionResult> GetStudents() { 返回 CollegeReposi...


© www.soinside.com 2019 - 2024. All rights reserved.