2016-03-18 130 views
5

我從服務器收到對象並嘗試在表中顯示其字段。 所有字段顯示正常,但布爾值始終顯示爲「否」。Angularjs從對象中顯示布爾值

<tr ng-repeat="u in ctrl.users"> 
     <td><span ng-bind="u.id"></span></td> 
     <td><span ng-bind="u.name"></span></td> 
     <td><span ng-bind="u.age"></span></td> 
     <td><span ng-bind="u.isAdmin ? 'yes' : 'no'" ></span></td> 
</tr> 

我試圖添加過濾器,但結果是一樣的。

+2

嗨。你確定admin對所有用戶都不是錯誤的嗎?嘗試顯示如下:'​​'看看你得到了什麼 – dpaul1994

+0

或者可能undefined? – JEY

+0

我確定isAdmin對所有用戶都不是錯誤的。 – Geha

回答

2

仔細檢查你的權利代碼有屬性名稱。

可以打印u對象作爲JSON與

<pre>{{u | json}}</pre> 

我敢肯定,如果該值是在數據庫中,而不是虛假或無效,那麼你的名字寫錯了,它的不是isAdmin但是別的。

編輯:看起來我是對的,而你正在使用屬性名稱admin來代替。

0

當您返回從AJAX調用boolean值,你總是把它作爲字符串。 所以,你需要檢查它這樣一個

<span ng-bind="name =='true'? 'yes' : 'no'"></span> 
+2

Downvoter評論please.I希望你知道確切的原因 –

+0

原因是@Geha在其評論中表示,'isAdmin'屬性不顯示任何內容。你的回答是無效的。 – Erazihel

+0

@Erazihel OP最初在他的問題中說過:*所有字段都顯示正常,但布爾值總是顯示爲「否」*,這與後者的評論相沖突。我認爲評論中的OP是不正確的,因爲u.isAdmin是未定義的,否則將被評估爲真實/錯誤表達。除非Angular在某處沒有提及的地方拋出異常,否則渲染「無」似乎是不可能的。我認爲downvote是過度的。 – jusopi