Angular2-如何执行仅子组件强制?
在Angular2中,假设我有两个组件,一个列表和一个列表项。我希望列表项只能放置在列表中:Angular2-如何执行仅子组件强制?,angular,Angular,在Angular2中,假设我有两个组件,一个列表和一个列表项。我希望列表项只能放置在列表中: <my-list> <my-list-item>Foo</my-list-item> </my-list> 福 是否有办法在TypeScript中强制执行此操作?在您的我的列表项中执行此操作 如果my list item不在my list 从'angular2/core'导入{Component,ElementRef}; @组成部分({ 选择
<my-list>
<my-list-item>Foo</my-list-item>
</my-list>
福
是否有办法在TypeScript中强制执行此操作?在您的
我的列表项中执行此操作
如果my list item
不在my list
从'angular2/core'导入{Component,ElementRef};
@组成部分({
选择器:“我的列表项”,
模板:“”
})
导出类MyListItem{
public-insideMyList:boolean=false;
构造函数(elementRef:elementRef){
if(elementRef['internalElement'].parent.nativeElement.localName=='my list')
{
//在这里做其他事情
this.insideMyList=true;
}
}
}
在您的我的列表项中执行此操作
如果my list item
不在my list
从'angular2/core'导入{Component,ElementRef};
@组成部分({
选择器:“我的列表项”,
模板:“”
})
导出类MyListItem{
public-insideMyList:boolean=false;
构造函数(elementRef:elementRef){
if(elementRef['internalElement'].parent.nativeElement.localName=='my list')
{
//在这里做其他事情
this.insideMyList=true;
}
}
}
您的意思是说我的列表项
指令只有在用我的列表
包装时才有效?是的。我的列表项应该只能存在于我的列表中TypeScript与此相关吗?如果您希望我的列表项
仅位于我的列表
中,请不要在其他任何地方编写它。也许他是想说他希望解决方案使用TS而不是JS。但是我们怎么知道呢8小时前出现
您的意思是说我的列表项
指令只有在用我的列表
包装时才有效?是的。我的列表项应该只能存在于我的列表中TypeScript与此相关吗?如果您希望我的列表项
仅位于我的列表
中,请不要在其他任何地方编写它。也许他是想说他希望解决方案使用TS而不是JS。但是我们怎么知道呢<代码>8小时前看到
如果父元素中有我的列表
元素,该怎么办,但是它是父对象的父对象?然后,不只是检查直接父对象,而是对父对象的父对象的父对象运行一个循环,直到父对象变成my list
或undefined
或body
如果父对象中存在my list
元素,但它是父项的父项?然后,不只是检查直接父项,而是为父项的父项的父项运行一个循环,直到父项成为我的列表或未定义的子项