哪里需要从同级组件访问元素,但不需要从父 Cmp 访问元素。
例:
需要组件 B 的 templateA 中的 iframe 元素来隐藏
或删除该元素。
index.html
<component-A> </component-A>
<component-B> </component-B>
ComponentA.html
<div>
<iframe id="someIframe"></iframe>
</div>
<div>
<form id="someForm"></form>
</div>
@组件
({
selector:'component-A',
templateUrl:'/componentA.html'
})
constructor() {
}
@组件
({
selector:'component-B',
templateUrl:'/componentB.html'
})
constructor() {
//need to get hold of the iframe element to hide that.
}
我当然不想直接从组件B中访问元素,你会想让它们分离。
解决这个问题的2种可能方法是:
有几种方法可以在兄弟姐妹之间共享数据:
您可以使用@ViewChild
来获取同级组件。所以你的组件B类应该看起来像这样;
import {Component,ViewChild,AfterViewInit} from 'angular2/core';
import {ComponentA} from './componentA';
@Component({
selector: 'component-B',
templateUrl: '/componentB.html'
})
export class ComponentB implements AfterViewInit{
@ViewChild(ComponentA)
child:ComponentA; //say get the first instance of ComponentA
ngAfterViewInit() {
console.log(this.child); //access the child here
}
}
问题内容: 我使用一个带有两个自定义元素(v1)的Web组件制作了一个简单示例,其中一个嵌套在另一个中。index.html: app-container.html: 工具栏.html: 但是在toolbar.html 中与在app- container.html中相同,因此无法找到ID为的模板。如何解决这个问题呢? 示例已在Chrome 55上测试(不使用polyfill)。 问题答案: 包含对
问题内容: 我可以在AngularJS 1.5组件中使用多个模板吗?我有一个具有一个属性的组件,因此我想基于该属性名称加载不同的模板。如何根据元素的属性名称加载模板? 谢谢。 问题答案: 我使用两种方法在1.5.x中制作组件的动态模板: 1)通过attr属性传递: 2)将服务注入模板并从那里获取模板: templateURL函数: 在getTemplate函数中,返回基于变量的模板URL 首先通过
问题内容: 我希望能够弄清楚哪些React组件与某个DOM元素相关联。 例如,假设我有一个div,并且正在使用React渲染整个应用程序。div必须由React组件呈现-但是哪一个呢? 我知道React提供了方法“ getDOMNode ”来获取与React组件相关联的DOM节点,但是我想做相反的事情。 这可能吗? 问题答案: 没有。 React中的中心概念是您实际上在DOM中没有控件。相反,您的
有一个父组件 A,上面有两个子组件,B 和 C。 在子组件 B 上有一个子组件 D,其中 D 里面有一个 textarea 在子组件 C 上有一个按钮,点击这个按钮获取 D 里面 textarea 的值。 我尝试的两个方案 方案一:可以通过直接操作 dom 来解决 方案二:通过 D 将 textarea 的值传递给 B,然后由 B 传给 A,再有 A 传给 C,但总是传不成功。 请问我的这个需求,
我试图在父组件中显示子组件的状态,但不知何故,文本“abcde”仍然没有显示,这是示例代码 但不知怎么的,屏幕仍然是空的,“abcde”直到我点击两次,来自功能组件,所以我不知道发生了什么,请帮助,非常感谢
问题内容: 为了在控制台中进行调试,React中是否有任何机制可以使用DOM元素实例来获取支持的React组件? 先前已经在生产代码中使用此问题时询问过此问题。但是,我的重点是用于调试目的的开发版本。 我熟悉React的Chrome调试扩展,但是并非在所有浏览器中都可用。结合使用DOM Explorer和控制台,可以很容易地使用“ $ 0”快捷方式来访问有关突出显示的DOM元素的信息。 我想在调试