问题标签 [subcomponent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 来自子组件的 EventEmitter 不起作用
我想要从父组件到子组件的双向绑定。这已经在我的一个组件中运行良好,如下所示(我发出了一些 css 类和其他不相关的部分):
父 habit-show.component.html:
子组件 habit-edit.component.html:
子组件 habit-edit.component.ts:
这按预期工作:我可以在父组件中看到 habit.label ,当我更改输入中的值时,它也会自动更改。现在这是不工作的组件部分:
父习惯-edit.component.html:
子组件 checkbox.component.html:
子组件 checkbox.component.ts:
现在在这种情况下,父组件中的值不会更新,我不知道为什么,因为我做了基本相同的事情。子组件中的值确实会正确更新。
值得注意的一件事可能是,第一个(工作)示例中的子组件是第二个示例中的父组件-> 这应该不是问题,不是吗?
每当我按下该按钮时,当我添加一个按钮时,父容器的更新也会起作用(尽管它仍然不会从复选框值更新):
父习惯-edit.component.html:
子组件 checkbox.component.html:
子组件 checkbox.component.ts:
如果我将测试函数添加到输入本身,则无论何时按下它都不会发生任何事情(甚至子组件中的 mappedModel 都不会更新)
问题似乎是我无法正确地将 habit.goalActive 与子组件中的事件发射器绑定(可能是因为它是对象的属性而不是整个对象?)我仍然很困惑,因为这没问题在输入上使用 [(ngModel)]
dependency-injection - 为什么使用 @Module.subcomponents 比通过父组件上的方法安装子组件更好?
从文档:
使用
@Module.subcomponents
更好,因为它允许 Dagger 检测是否曾经请求过子组件。通过父组件上的方法安装子组件是对该组件的显式请求,即使该方法从未被调用。Dagger 无法检测到这一点,因此即使您从不使用它也必须生成子组件。
有谁明白这到底是什么意思?
generics - 是否可以将类型参数信息传递给匕首子组件?
我希望能够将类型信息公开给通用抽象类中的子组件。我们有一个abstract class
在子类中设置的类型参数(后者绑定在我们的图中),并尝试将此类型信息传递给此类内的子组件。尝试的方式尝试将类型参数附加到子组件。
这是我想要实现的更充实的示例:
当然,这并不需要:
是否可以通过其他方式连接这些信息?如果不需要在我们的子组件中绑定的变量,我们可以将我们的变量绑定到我们subRunner: Runner<Options>
的主图中而不会出现问题,正如评论的那样。
components - 如何防止 DFM 中不需要的对象
我在我正在编写的组件中复制了带有 TBoundLabel 的源 LabeledEdit 示例,以附加一个方便的标签。它们工作正常,但我在加载 .dfm 表单时遇到问题(似乎当我的组件位于另一个组件上时,例如 CategoryPanel):
找不到类 TBoundLabel
LabelledCombo 的来源:
这是重现问题的最简单的测试,CategoryPanel 上的 LabelledCombo。(在表格上我不会感到悲伤。)
我尝试删除对子标签的引用并重新保存 .DFM 但它又回来了。我看不出要修复什么:源与 TLabeledEdit 的源相同,只是 TBoundLabel 不在我的单元中。我是否也需要将其源代码复制到我的组件单元中?
麦克风
android - MainComponent 中的 MissingBinding 对象,在子组件的模块中提供
我使用具有 ActivityBuilderModule 和 ViewModelBuilderModule 的“AppComponent”和具有提供 InterfaceRequest 的 NetworkModule 的子组件“NetworkComponent”,我在 Repository 中注入 InterfaceRequest 并在 ViewModel 中注入 Repository 并且 ViewModel 被注入到 Activity 中,但我得到了这个错误:
应用组件:
网络组件:
存储库代码:
网络模块:
blazor - Blazor InputFile 重置/清除值 - statehaschanged() 不起作用
我有一个使用 Blazor InputFile 组件作为子组件的组件。
当我选择一个文件时,按预期调用 OnChange 处理程序。但是,如果我两次选择同一个文件,则不会再次调用 OnChange 处理程序(我猜这是预期的,因为选择没有改变,但是我的用例需要这个)。
所以,我想如果我可以选择一个文件并调用 OnChange 处理程序并在 OnChange 处理程序中“重置”选定的文件,那么即使再次选择同一个文件,我也应该对处理程序进行新的调用。
我不知道如何重置 InputFile(子)组件中的文件选择。调用this.StateHasChanged()
处理程序不会导致 InputFile 组件重新呈现。
如果没有 JSInterop 并手动将 DOM 输入元素的值字段设置为“”,这是否可行(甚至可以工作)?
我的组件:
到目前为止,我的尝试包括:
- 遵循与此相关的各种提示/技巧。StateHasChanged(),即
await Task.Delay(1);
await InvokeAsync(StateHasChanged);
- 使用向 InputFile 添加值以
AdditionalAttributes.Add(..)
查看是否可以强制重新渲染 - 查看了使用 RenderFragment 动态添加 InputFile 组件,但是在代码中创建 InputFile 的新实例时我无法传递 OnChanged 参数(处理程序),这意味着我不会使用 InputFileChangeEventArgs 进行回调
- 看着将 InputFile 包装在 EditForm 中以重置表单(Blazor EditForms 显然没有重置功能?)
- [编辑] 将 Task 和 void 用于 OnInputFileChange
reactjs - 在层次结构中使用 React 钩子
我是 react 新手,在我的新 react 应用程序中开发了很少的功能组件,这些组件在循环中被调用。子组件之一,呈现单选按钮。在选择单选按钮选项时,我需要调用 webapi 并更新父 App.js 中的状态。我一直在研究钩子,到目前为止还不能使用内置的,正在考虑实现一个自定义钩子。你能建议最好的方法吗
android - 匕首 2 子组件
而 Dagger 实现我有以下错误。请帮我解决它。
匕首/组件/AppComponent.java:10:错误:[com.example.testproject.app.dagger.component.PostLoginComponent.inject(com.example.testproject.view.photo.PhotoListActivity)] com.example.testproject.data。如果没有 @Inject 构造函数或 @Provides-annotated 方法,则无法提供 UserStore。
我的理解 - 我创建了 AppComponent 和 AppModule,它们是 PostLoginComponent 和 PostLoginModule 的父级(因为它们是子组件)。photoListViewModel 被注入到 PhotoListActivity 中。photoListViewModel 由 postLoginComponent 和 PostLoginModule 提供。现在 photoListViewModel 需要 UserStore 作为 AppModule 中存在的依赖项。因此,据我了解,父模块中的所有对象都可用于子模块。在这种情况下,来自 AppModule 的 UserStore 应该可用于 PostLoginModule 中的 PhotoListViewModel。
但根据错误,未提供 UserStore。
react-native - 如何在本机反应中创建子组件?
我看到反应原生元素 - 卡片组件像这样工作。
我想创建一个带有标题和分隔符等子组件的组件。
我可以创建这样的组件。
如何将子组件(比如说标题)添加到 A 组件?
reactjs - 用 SubComponent 反应组件 - 热重载不起作用
我的项目有一个简单的SubComponent
. 如果我在内部进行任何更改,SubComonent
它不会热重载。我不知道如何解决它。
我有这样定义的组件:
和用法:
如果我做了更改,Component.SubComponent
它不会重新加载,但如果我做了更改,SubComponent1
它会很好地工作。
我已经使用干净的 create-react-app 安装对此进行了测试,但它在那里也不起作用。
关于如何解决这个问题或代码有什么问题的任何想法?我在互联网上找到了很多关于子组件的文章。