Angularjs 用三元算子计算角坐标系的性质值

Angularjs 用三元算子计算角坐标系的性质值,angularjs,Angularjs,我是一名React开发人员,正在着手我的第一个Angular项目之一。我试图根据父组件传递的值计算要分配给标记中属性的值。我使用三元运算符来决定要分配的值,但这会导致编译器错误。请参阅下面我的代码: 调用我的自定义组件的父组件: <gcp-three-dot-progress-bar [step]="2"></gcp-three-dot-progress-bar> HTML文件 <mat-progress-bar mode="determinate" value=

我是一名React开发人员,正在着手我的第一个Angular项目之一。我试图根据父组件传递的值计算要分配给标记中属性的值。我使用三元运算符来决定要分配的值,但这会导致编译器错误。请参阅下面我的代码:

调用我的自定义组件的父组件:

<gcp-three-dot-progress-bar [step]="2"></gcp-three-dot-progress-bar>
HTML文件

<mat-progress-bar mode="determinate" value="{{step => 2 ? 100 : 50 }}" class="vertical-progress-bar"></mat-progress-bar>
<p>{{step}}</p>

{{step}}

我得到的错误如下所示:

未捕获错误:模板分析错误:分析器错误:绑定无法执行 在[{step=>2?100:50}}]中的第7列包含赋值

我确信您可以看出,我想使用'step'变量来确定'value'属性的值,但我怀疑我做了一些根本错误的事情。如果我注释掉自定义组件中的第一行,我可以看到第二行“p”中的“step”中出现了正确的值,因此我相信我收到了正确的值

我尝试过搜索类似的实现,但我想我可能还没有找到角度术语,因为我似乎找不到任何类似的东西(尽管我确信一定有一些)

如果有人能为我指出正确的方向,提供参考或关于搜索内容的建议,或指出我的错误,我将不胜感激。

您可以使用bind
value
属性,如:

<mat-progress-bar 
  mode="determinate" 
  [value]="step >= 2 ? 100 : 50" 
  class="vertical-progress-bar">
</mat-progress-bar>

这是一个打字错误。如果您想检查
步骤
是否大于或等于一个值,那么我们需要使用
=
表达式,而不是使用javascript中表示一个值的
=>

@palash谢谢您,这正是我需要的(包括打字说明),非常感谢!
<mat-progress-bar 
  mode="determinate" 
  [value]="step >= 2 ? 100 : 50" 
  class="vertical-progress-bar">
</mat-progress-bar>
step => 2 ? 100 : 50