我正在尝试为私有组件提供一个简单的用例,就在这里。假设我的模块HelloWorldAppModule
包含一个公共组件和一个私有组件:
@Component({
selector: 'hello-world',
template: `
<div>
<private></private>
</div>`
})
class HelloWorldComponent {
}
@Component({
selector: 'private',
template: `<span>I am private</span>`
})
class PrivateComponent {
}
@NgModule({
declarations: [HelloWorldComponent, PrivateComponent],
exports: [HelloWorldComponent]
})
class HelloWorldAppModule {
}
如您所见,此模块仅导出HelloWorldComponent
,但在HelloWorldComponent
模板中使用了PrivateComponent
。这应该可以正常工作,因为这两个组件都在declarations
中注册。
然后,我创建另一个导入UsesHelloWorldModule
的模块HelloWorldAppModule
,因此,据我所知,我可以在HelloWorldAppModule
中注册的指令模板中使用由它导出的组件。所以这就是:
@Component({
selector: 'uses-hello-world',
template: `<hello-world></hello-world><private></private>`
})
class UsesHelloWorldComponent {
}
@NgModule({
imports: [HelloWorldAppModule],
declarations: [UsesHelloWorldComponent],
})
class UsesHelloWorldModule {
}
但是,我还使用了<private>
中未导出的HelloWorldAppModule
组件。那会发生什么?我正确的是,在解析<private></private>
标签时,angular会抛出错误吗?
修改
此外,如果仅在UsesHelloWorldComponent
内使用会发生什么:
@Component({
selector: 'uses-hello-world',
template: `<hello-world></hello-world>`
})
class UsesHelloWorldComponent {
}
请注意,它在其模板中使用<private>
。
感谢任何评论,因为网上私人组件的例子不多。
答案 0 :(得分:2)
<private></private>
会导致错误CUSTOM_ELEMENTS_SCHEMA
错误。如果您证明CUSTOM_ELEMENTS_SCHEMA
能够使用非Angular组件的自定义标记,那么您将不会收到错误,除非您还添加<private [prop]="value">
之类的绑定 - 这将导致错误,因为当<private>
不是prop
PrivateComponent
没有 if ((!empty($formData['from_date1'])) && (!empty($formData['to_date2']))) {
$where_params .= "AND DATE(regdate) BETWEEN $from_date1 AND $to_date2";
} else if ((!empty($formData['from_date1'])) && (empty($formData['to_date2']))) {
$where_params .= "AND DATE(regdate) >= $from_date1";
} else if( (!empty($formData['to_date2'])) && (empty($formData['from_date1']))) {
$where_params .= "AND DATE(regdate) <= $to_date2";
}
属性