如何将数据模态.ts注入到另一个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将数据模态.ts注入到另一个相关的知识,希望对你有一定的参考价值。

不确定'inject'是否正确。我对编码还是很陌生,我可以问爸爸跟我一起工作,但是我想尝试解决stackoverflow问题。对不起,如果最终无法理解。

背景:

我正在制作具有弹出对话框的面板表,以将更多面板添加到提案中。该表来自3个不同的数据集proposal.ts,boards.ts,proposal-board.ts数据传输良好,麻烦的是使其显示在表中。

[显示的数据在const proposalBoard = new ProposalBoard( ... )中与proposal-board.ts中的元素绑定在一起,但是EndDate和StartDate元素来自proposal.ts,而不是proposal-board.ts。

所以问题是:我可以将EndDate和StartDate元素注入proposal-board.ts吗?如果可以,怎么办?


edit-proposal.component.html

    <ng2-smart-table [settings]="proposalBoardSettings" [source]="proposal.Boards">
    </ng2-smart-table>

    <div class="col-sm-2">
      <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#add-boards-modal"
        (click)="showBoardSelectDialog">+ Add Boards</button>

      <div *ngIf='proposal.Boards'>
        <app-boardselectdialog (selectedBoards)="addBoards($event)" [boards]="proposal.Boards"></app-boardselectdialog>
      </div>
    </div>  

edit-proposal.component.ts

export class EditProposalComponent implements OnInit 
 boards: any = ;
proposal: any = ;


proposalBoardSettings = 
    actions: false,
    columns: 
      StructureNumber: 
        title: 'StructureNum',
        filter: false
      ,
      BoardName: 
        title: 'BoardName',
        filter: false
      ,
      StartDate: 
        title: 'Start Date',
        filter: false
      ,
      EndDate: 
        title: 'End Date',
        filter: false
      ,
      Status: 
        title: 'Status',
        filter: false
      ,
      Cost: 
        title: 'Cost',
        filter: false
      ,
      Price: 
        title: 'Price',
        filter: false
      
    
  ;

 addBoards(boards: any) 
    const newProposalBoards: ProposalBoard[] = [];
    boards.forEach(element => 
      // loops through the boards returned from the dialog
      // tslint:disable-next-line: max-line-length
      console.log('Dialog Board', element);
      // creates new ProspoalBoards objects from Boards objects returned from Dialog
      const proposalBoard = new ProposalBoard(
        element.Name,
        element.StructureNumber,
        element.Cost,
        element.EndDate,   //<- these are squigled
        element.StartDate,  //<- these are squigled
      );
      // adds new ProposalBoards to the array
      newProposalBoards.push(proposalBoard);
    );
    console.log('ProposalBoards', newProposalBoards);
    // replace Boards with new array of boards to show on the table
    this.proposal.Boards = newProposalBoards;

    this.UpdateCosts();
    this.UpdatePrice();
    console.log('Proposals');
  


proposal-board.ts

export class ProposalBoard 
         BoardName: string;
         StructureNumber: string;
         Cost: number;

         constructor(name: string, 
                    structureNumber: string, 
                    cost: number, 
                    ) 

          this.StructureNumber = structureNumber;
           this.BoardName = name;
           this.Cost = cost;
         
       

proposal.ts

export class Proposal 
    EndDate: string;
    StartDate: string;


    constructor(
        endDate: string,
        startDate: string,
    ) 
        this.EndDate = endDate;
        this.StartDate = startDate;
    

答案

在调用addBoards的方法时刷新表可能会帮助您

以上是关于如何将数据模态.ts注入到另一个的主要内容,如果未能解决你的问题,请参考以下文章

如何在模态中获取 id 并使用 php 将其数据打开到另一个页面?

使用当前模态将数据从一个 uiviewcontroller 发送到另一个 navigationcontroller

如何在没有模态或推送的情况下从一个 UIViewController 编程到另一个?

以编程方式将模态注入 HTML 不起作用

模态需要在验证后进行验证,它应该移动到另一个模态

如何使用vue js使模态从一端移动到另一端