在答案中使用技巧之前,请检查this issue,其中描述了错误Expression has changed after it was checked. Previous value: 'CD_INIT_VALUE'.
我还提供了一个漂亮的(imo)解决方法。
我写了一个弹出窗口(对话框)组件,它在屏幕中央创建一个带有两个按钮和关闭图标的小窗口。我想将这个组件用于一些目的:提示,警报,确认等。所以我需要有条件地包含不同的模板。我是对的,唯一的好办法是:to include all code at once and use *ngIf?或者可能是我应该为提示创建一个组件,一个用于确认?但在第二种情况下,我会得到一些重复的代码行。
答案 0 :(得分:1)
您可以在模态组件中使用select ct.srv_ct_label as service, count (distinct cln.cln_urn) as total
from cw_domain dmn
inner join cw_service srv on srv.srv_dmn_fk=dmn.dmn_pk
inner join cw_client cln on cln.cln_pk=srv.srv_cln_fk
inner join cw_subservice sbs on sbs.sbs_pk=srv.srv_sbs_fk
inner join cw_service_category ct on ct.srv_ct_rpk=sbs.sbs_srv_ct_rfk
where
srv_ct_rpk in (
'001',
'002',
'004',
'025',
'040',
'003',
'026',
'017',
'016',
'034',
'041',
'042',
'018',
'029'
)
and srv.srv_date >=@startDate and srv.srv_date <=endDate
group by ct.srv_ct_label, srv_ct_rpk, srv.srv_date
order by
case srv_ct_rpk
when '001' then 1
when'040' then 2
when '003' then 3
when '025' then 4
when '002' then 5
when '004' then 6
when '041' then 7
when '026' then 8
when '017' then 9
when '034' then 10
when '042' then 11
when '018' then 12
when '029' then 13
end
,只需传递要在模式中显示的组件类型,类似于我在stackoverflow.com/questions/36325212 / ...中的解释,其中类型为传递给@Input()
您还可以使用共享服务来通知模态组件以显示一个组件,从而可以更轻松地从应用程序中的任何位置进行寻址。
另请参阅https://angular.io/docs/ts/latest/cookbook/component-communication.html