是的,虚假陈述显示html

时间:2016-01-06 12:00:13

标签: angularjs

首先,我为可怕的头衔道歉,但我不知道这段代码是什么类型的财产。

我有一个用户列表,

%li{"ng-repeat" => "user in users | filter:userSearch"}
  .container
    %a{"ng-click" => "followUnfollowUser(user)"}
      {{ user.isFollowed ? "Unfollow" : "Follow"}} -

在此ng-repeat中,我{{ user.isFollowed ? "Unfollow" : "Follow"}}检查用户是否已被当前用户跟踪。

isFollowed函数返回true或false。

var isFollowed = function(userId) {

  var following = $scope.current_user.following;
  for (var i = 0; i < following.length; i++) {
    if (following[i].id == userId) {
        return true;
    }
  }
  return false;
}

因此,如果结果为真(正在关注用户),则ng-repeat显示Unfollow,如果结果为false则显示Follow

我想替换这两个词,取消关注和跟随图标。

所以我替换了文字,

{{ user.isFollowed ? "%i.fa.fa-minus-square" : "%i.fa.fa-plus-square"}} -

但是现在%i.fa.fa只是呈现为文本。所以我把它改成了html,

{{ user.isFollowed ? <i class="fa fa-minus-square"></i> : <i class="fa fa-plus-square"></i>}} 

现在图标都显示了,{{user.isFollowed?也被渲染为文本,

{{ user.isFollowed ? - : + }} -

有没有办法解决这个问题,还是我应该坚持使用文字?

3 个答案:

答案 0 :(得分:1)

您可以有条件地将课程应用于此类图标

var t ='{"success":true,"result":[{"0":"2016-01-06T00:00:00+05:30"},35]}';
var tt = $.parseJSON(t);
alert(tt.result[0][0]);

答案 1 :(得分:0)

尝试以下代码。

<i ng-show="user.isFollowed" class="fa fa-minus-square"></i>
<i ng-show="!user.isFollowed" class="fa fa-plus-square"></i>

否则你可以使用ng-class表达式。

<i ng-class="{fa fa-minus-square:user.isFollowed, fa fa-plus-square:!user.isFollowed}"> </i>

答案 2 :(得分:0)

尝试下面

<i class="{{ user.isFollowed ? 'fa fa-minus-square' : 'fa fa-plus-square'}}">