如果是Angular JS中的Statement(Ngif)

时间:2016-01-13 02:43:49

标签: javascript angularjs

我有这段代码,显示连接到此应用程序时Facebook用户的用户名和图片。

 <div class="item item-avatar" ng-controller="LoginCtrl" ng-show="showProfile">
      <img src="{{user.picture}}">
        <h2>{{user.name}}</h2>
        <p>Reporter</p>
  </div>

因此,如果用户使用Facebook使用该应用程序登录,则用户名和个人资料图片将显示... {{user.picture}}&amp; {{user.name}}所以我要做的是显示用户未登录的不同情况...如果用户未登录,我想显示纯文本,如“没有登录用户“。

所以尝试了这些代码并且没能得到它

 <div ng-if="user.name !== '{{user.name}}'">
      <div class="item item-avatar">
          <img src="https://media.licdn.com/mpr/mpr/p/5/005/06f/16e/232e2d4.jpg">
          <h2>No logged in user</h2>
      </div>
 </div>


 <div ng-if="user.name === '{{user.name}}'">
      <div class="item item-avatar" ng-controller="LoginCtrl" ng-show="showProfile">
          <img src="{{user.picture}}">
          <h2>{{user.name}}</h2>
          <p>Reporter Name</p>
    </div>
 </div>

<div ng-repeater="user in users">
    <div>{{user.name}}</div>
    <div ng-show="isExists(user)">available
        <div class="item item-avatar" ng-controller="LoginCtrl" ng-show="showProfile">
            <img src="{{user.picture}}">
              <h2>{{user.name}}</h2>
              <p>Reporter</p>
        </div>
    </div>
    <div ng-show="!isExists(user)">No logged in user</div>
</div>

使用ng-if或ng-repeater的任何解决方案或替代方案?不太熟悉AngularJS。

1 个答案:

答案 0 :(得分:1)

你没有使用&#34;把手&#34; Angular表达式中的语法。例如,这是正确的:

<div id="{{user.name}}" ng-if="user.name">{{user.name}}</div>

这是不正确的:

<div id="{{user.name}}" ng-if="{{user.name}}">{{user.name}}</div>

确保您的网络浏览器的Javascript控制台保持打开状态。这将突出显示您的任何错误。

您正在使用的比较 - "user.name !== '{{user.name}}'" - 无法正常工作。更具体地说,user.name 永远不会等于'{{user.name}}'。这是因为您告诉Angular将用户名与实际字符串进行比较&#34; {{user.name}}&#34;。这与做这样的事情是一样的:

var myVariable = 42;
if(myVariable === "myVariable"){
  // do something
}

我还不完全确定你要去那里,无论如何......用户名总是等于用户名,就像{{1 }}将始终等于myVariablemyVariable将始终等于42

42

如果您只想检查var myVariable = 42; myVariable === "myVariable"; // false myVariable === myVariable; // true 42 === "42"; // false 42 === 42; // true 42 == "42"; // true myVariable === 42; // true myVariable === "42"; // false myVariable == "42"; // true myVariable === true; // false myVariable == true; // false 是否存在,请尝试以下语法:

user.name