使用ngIf有条件地向按钮添加属性

时间:2019-10-01 00:01:35

标签: angular

我有一个对话框,其中包含一些按钮,我可以将primary =“ true”设置为用户的默认答案。在我的情况下,primarryButton的值是button1和button2,如果要设置为primary =“ true”,我希望将其设置为其他按钮。

<div>
        <button class="button" kendoButton (click)="onCancelAction()" >{{Button2}}</button>
        <button class="button" kendoButton (click)="onConfirmAction()" >{{Button1}}</button>
</div>

所以ngif应该在Button1的行中说

*ngIf="primaryButton==='button1'" then primary="true"

但不确定如何实现

3 个答案:

答案 0 :(得分:1)

几乎了解您要实现的目标,请尝试以下操作:

import os
import pathlib

def take_a_walk(xpath):

    ipath = pathlib.Path(str(xpath))

    print(''.join(str(x) for x in [
        "VISITED ", str(ipath)
    ]))

    children = next(os.walk(ipath))[1]
    children = [ipath / child for child in children]
    for child in children:
        take_a_walk(child)
    return "Fahrvergnugen"

take_a_walk('F:\\')

答案 1 :(得分:0)

为什么不在元素的自定义primaryButton属性上添加ngIf,为什么不使用类本身。

如果您仍然只需要属性,请告诉我。.然后我将根据您的要求更新您。

答案 2 :(得分:0)

您完全不需要使用ngIf,正如注释中已经提到的那样。在Angular中,如果将null传递给attribute binding,则不会渲染它。因此,我们只需使用属性绑定将三元表达式添加到primary属性中,并有条件地传递truenull

<kendo-dialog-actions>
    <div>
        <button class="button" [attr.primary]="primaryButton === 'Button1' ? true : null" kendoButton (click)="onConfirmAction()">{{Button1}}</button>
        <button class="button" [attr.primary]="primaryButton === 'Button2' ? true : null" kendoButton (click)="onCancelAction()">{{Button2}}</button>
    </div>
</kendo-dialog-actions>