Angular ng显示正确切换为false / true但不隐藏/显示

时间:2016-02-09 23:02:04

标签: angularjs

使用以下功能并将其用作两个按钮:

<button ng-show="{{project[0].is_following.length > 0}}"
    class="button button-block button-balanced"
    ng-click="followProject()"
    type="submit">UnFollow
</button>
<button ng-show="{{project[0].is_following.length === 0}}"
    class="button button-block button-dark"
    ng-click="followProject()"
    type="submit">Follow
</button>

在我的API做它需要的东西时,我可以看到按钮在ng-show =“true”和ng-show =“false”之间切换,因为我跟随/取消关注它们在按钮之间切换。

但是,按钮本身不会隐藏/显示。他们保持不变。

我的错在哪里?

2 个答案:

答案 0 :(得分:4)

您正在从表达式中打印出值。 ng-show需要表达本身。试试这个:

<button ng-show="project[0].is_following.length > 0"
   class="button button-block button-balanced"
   ng-click="followProject()"
   type="submit">UnFollow
</button>
<button ng-show="project[0].is_following.length === 0"
   class="button button-block button-dark"
   ng-click="followProject()"
   type="submit">Follow
</button>

答案 1 :(得分:2)

import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Layouts 1.1 Item { Image { anchors.centerIn: parent width: parent.width height: parent.height sourceSize.height: 1000 sourceSize.width: 2000 source: "https://upload.wikimedia.org/wikipedia/ru/archive/8/88/20090512220306!Qt_logostrap_CMYK.png" smooth: false fillMode: Image.Stretch asynchronous: true Behavior on width { animation: whAnimation } Behavior on height { animation: whAnimation } NumberAnimation { id: whAnimation duration: 150 } } } ng-show使用 Angular表达式。这意味着您不需要{{花括号}}。

删除它们就可以了。

那有什么区别?

花括号在Angular中用于执行字符串插值 - 将某个范围表达式的值放在字符串中。因此,如果某些东西需要字符串,例如在HTML中或将属性值视为字符串,那么您使用{{花括号}}。否则,如果要指定不应被视为字符串的条件或表达式,则不应使用大括号。