带有ng-click的Angular [attr.href]条件

时间:2017-11-10 10:24:26

标签: html twitter-bootstrap angular typescript twitter-bootstrap-3

我有一个带有引导标签控件的Angular5应用程序。如果属性href为true,我会将标签的#设置为modelChanged,否则我会将其设置为#tab1(或#tab2):

<ul class="nav nav-tabs"> 
    <li class="active">
        <a (click)="changeTab()" [attr.href]="modelChanged ? '#':'#tab1'" data-toggle="tab">Tab 1</a>
    </li>
    <li>
        <a (click)="changeTab()" [attr.href]="modelChanged ? '#':'#tab2'" data-toggle="tab">Tab 2</a>
    </li>
</ul>

所以基本上我可以在modelChanged设置为false时更改选项卡,而不是。

现在我不想使用名为changeTab()的函数,我将modelChanged属性更改为false,并且期望选项卡从1更改为2,但直到我单击再次选项卡:

changeTab() {
   modelChanged = false;
}

任何人都知道解决方案吗?

很抱歉,我没有一名工作人员,但我认为你们中的一些人无论如何都能回答我的问题。

1 个答案:

答案 0 :(得分:0)

两种方法来做同样的事情

1)在你的点击中指定modelChanged =!modelChanged,

[click]="modelChanged = !modelChanged"

2)[click]="modelChanged = changeTab()" 并在您的控制器中指定changeTab函数,如下所示

function changeTab(){
//do something
return false;
}