如何在角度6的ngb-progressbar的值字段中分配动态值

时间:2018-10-04 15:23:24

标签: angular ng-bootstrap

我在角度6中使用from,如下所示:

ngb-progressbar

我在这里面临的问题是将动态值分配给<p> <ngb-progressbar type="info" [value]="{{percentageCompleted}}" [striped]="true" [animated]="true"> <i>{{percentageCompleted}}</i> </ngb-progressbar> </p> [value]内的{{percentageCompleted}}是打印值,而不是<i>内的值。

[value]文件中:

component.ts

有人可以建议我如何为角度6的public percentageCompleted: number; constructor(){ this.percentageCompleted = 20; } 的{​​{1}}字段分配动态值?

更新:

[value]

错误:

  

错误:ExpressionChangedAfterItHasBeenCheckedError:检查表达式后,表达式已更改。上一个值:“值:未定义”。当前值:“值:4.75”。

来自ngb-progressbar的代码

<ngb-progressbar
    type="info"
    [value]="percentageCompleted"
    [striped]="true"
    [animated]="true">

2 个答案:

答案 0 :(得分:0)

只需从ngb-progressbar值中删除方括号:

<ngb-progressbar
        type="info"
        [value]="percentageCompleted"
        [striped]="true"
        [animated]="true">
        <i>{{percentageCompleted}}</i>
</ngb-progressbar>

答案 1 :(得分:0)

谢谢您的建议。但是,我通过在ngOnIn(){}而不是构造函数中分配值来解决了我的问题。

对我有用的答案如下:

ngOnInit() {
    this.sharedMessage.shareMessage$.subscribe((data) =>{
  this.message=data;
  this.prevQuestionId=this.message[0];
  this.currentQuestionId=this.message[1];
  this.nextQuestionId=this.message[2];
  setTimeout(()=>{
    this.percentageCompleted=this.message[3];
  },1000);
    })
  }