小编Bil*_*y G的帖子

Angular Material对话框:如何在父组件中更改注入的数据时更新它们?

将数据注入到材质对话框中效果很好,但是如果它们在父/开启组件中发生更改(例如来自(WAMP)订阅),如何自动更新这些数据?

[更新]
我创建了一个最小版本来试验行为:https://stackblitz.com/edit/angular-njh44v?robid = 1&file = src/app/app.component.ts
打开右下角的控制台然后单击带有数字的灰色框.您会看到对话框获取当前数字,之后不再更新.
[/更新]

[更新2]
根据Jusmpty的第二个想法,这个接缝一见钟面(即使对话框在数据到达后第一次显示/更新):https://stackblitz.com/edit/angular-thd34f?eed = 1&file = src/app/app.component.ts
[/ Update]

具体案例如下:

  • 有一个区域组件订阅WAMP服务并获取包含部分的所有数据.这将使用*ngFor 绘制所有部件. 文件area.component.ts
  • 每个部分都有一个显示一些数据的组件.如果订阅中的数据发生更改,则视图会针对每个/所有部分正确并自动更新.
    文件part.component.tspart.component.html
  • 在每个部分上,单击将打开一个对话框,其中显示更多数据.
    文件part-details-dialog.component.tspart-details-dialog.component.html

在最后一个操作/步骤发生当前数据显示(注入)的问题,但如果订阅数据中的某些内容发生更改,则不再更新.

area.component.ts

@Component({
  selector: 'app-area',
  template: '<app-part *ngFor="let part of plan" [partData]="part"></app-part>'
})
export class AreaComponent {

  plan = [];

  planasync$ = this.wampService
    .topic('sendplan') …
Run Code Online (Sandbox Code Playgroud)

dialog modal-dialog angular-material angular

17
推荐指数
1
解决办法
1万
查看次数

Jquery draggables:删除一个元素会改变其他放置元素的位置

当放置/放置元素(通过从一个 DIV 拖到另一个 DIV)然后在放置的 DIV 中移除一个元素时,其中一些正在改变位置。

这是一个测试场景:http : //jsfiddle.net/TcYHW/8/

和主要代码:

<div id="dropwin"></div>
<div id="dragables">
    <div id="d1" class="d"></div>
    <div id="d2" class="d"></div>
    <div id="d3" class="d"></div>
    <div id="d4" class="d"></div>
</div>


$(".d").draggable({
        containment: '#dropwin',
        stack: '#dragables div',
        cursor: 'move',
      });
Run Code Online (Sandbox Code Playgroud)

我怎样才能避免这种情况?

我发现,元素被放置在相对于起始位置的位置。即使有一些被移除,我怎样才能让它们粘在掉落的位置?

我发现了两个几乎相似的问题,但没有令人满意的答案:

使用可拖动和可调整大小在 Jquery div 中删除

jQuery可拖动删除而不改变其他元素的位置

jquery position element draggable

2
推荐指数
1
解决办法
3115
查看次数