2014-02-18 54 views
0

我只是試圖打印出一個錯誤的參數值,並以純文本輸出「false」,相當令人難以置信......任何線索?Angular js - 正在打印FALSE值作爲字符串

$rootScope.session = { 
       "username" : $window.localStorage['user_username'] || false, 
       "id_user" : $window.localStorage['user_id'] || false, 
       "token" : $window.localStorage['user_session_token'] 
      } 
    //in view 
    <div>{{session.username}}</div> 
+0

你是怎麼想到呢? – Teemu

+0

確實不錯,先生。 如果您替換'||,它會打印什麼?虛假'與'|| 「Whiskey''? (我想知道大寫'F'是從哪裏來的) – Cerbrus

+0

@Cerbrus對不起,我的拼寫全部小寫,它是 – sbaaaang

回答

3

嘗試使用ng-if指令:

<div ng-if="session.username">{{session.username}}</div> 
+0

這涉及額外的代碼該死的,但它的作品,謝謝! – sbaaaang

2

Angular.js可能會在打印的值上調用toString()

false.toString(); 

以上結果爲字符串"false"

+0

不,角[call](https://github.com/angular/angular.js/blob/master/src/ng/interpolate.js#L184) 'toJson()'函數。 – dfsq

+0

確實。結果在這個特殊情況下是相同的。 – mingos