我有一个ListComponent.在ListComponent中单击某个项目时,该项目的详细信息应显示在DetailComponent中.两者都在屏幕上同时出现,因此不涉及路由.
如何告诉DetailComponent单击ListComponent中的哪个项目?
我考虑过将一个事件发送到父(AppComponent),并让父设置在DetailComponent上使用@Input设置selectedItem.id.或者我可以使用具有可观察订阅的共享服务.
编辑:通过事件+ @Input设置所选项目不会触发DetailComponent,但是,如果我需要执行其他代码.所以我不确定这是一个可以接受的解决方案.
但是这两种方法看起来都比Angular 1的做法复杂得多,这种做法要么通过$ rootScope.$ broadcast或$ scope.$ parent.$ broadcast.
由于Angular 2中的所有内容都是组件,我很惊讶没有关于组件通信的更多信息.
有没有其他/更直接的方法来实现这一目标?
我已经在datatables.net论坛上发布了这个,但一周之后,仍然没有回应.希望我能在这里找到帮助......
我正在使用数据表版本1.8.1,并且在启用垂直滚动的情况下对列标题对齐进行了噩梦.
使用下面发布的代码,标题在Firefox和IE8和IE9中正确排列,但Chrome和IE7关闭.我在这个项目中使用了很多数据表,这对每个人来说都是一个问题.我迫切需要帮助!
编辑:我已经发现这与设置表格的宽度有关.数据表占用其容器的宽度.如果我没有设置宽度,一切都很好(但桌子太大了,无法在页面上需要它).如果我将表格的div(或某个较高的父级div)给予宽度,则标题不会正确排列.
谢谢!!
截图:
www.dennissheppard.net/firefox_alignment.png
www.dennissheppard.net/chrome_alignment.png
www.dennissheppard.net/ie7_alignment.png
otable = $('#order_review_grid').dataTable({
'fnRowCallback': function (nRow, strings, displayIndex, dataIndex) {
return formatRow(nRow, dataIndex);
},
'fnDrawCallback':function()
{
checkIfOrderSubmitted(this);
},
'aoColumnDefs':
[
{ 'bVisible': false, 'aTargets': [COL_PRODUCT] },
{ 'bSortable': false, 'aTargets': [COL_IMAGE, COL_DELETE] },
{ 'sClass': 'right_align', 'aTargets': [COL_PRICE] },
{ 'sClass': 'center_align', 'aTargets': [COL_BRAND,COL_PACK] },
{ 'sClass': 'left_align', 'aTargets': [COL_DESCRIPTION] }
],
'sDom': 't',
'sScrollY':'405px',
'bScrollCollapse':true,
'aaSorting':[]
});
<table id="order_review_grid" class="grid_table" cellpadding="0px" cellspacing="0px">
<thead class="grid_column_header_row" id="order_review_grid_column_header_row">
<tr>
<td class="" …Run Code Online (Sandbox Code Playgroud) 我有一个父视图,中间有一个嵌套视图。
在状态更改时,嵌套视图似乎在加载下一个状态之前会停留一两秒钟。好像嵌套视图滞后了。
例如,登录后,状态更改后,登录表单仍在页面中间显示一两秒钟。父视图会立即更改,但该嵌套视图似乎仍然存在。
我对监视列表中的项目非常小心,并尽可能使用一次性绑定。
但是我真的不认为这与它有关,因为这甚至发生在应用程序的早期(从登录到主页),除了这个问题之外,应用程序的性能还不错。
我已经对此进行了很多搜索,但是还没有发现任何有用的信息。
有关检查或调试方法的任何想法?