2013-07-04 26 views
2

Dojo lang.replace()undefined文本替換未定義的佔位符。可以在佔位符中定義默認值嗎?Dojo lang.replace - 如何提供默認值,而不是'undefined'?

比方說,我想有以下佔位符:

<div class="message">The query returned {result.rows:0} rows</div> 

佔位符將行數退回來代替,但是當變量rows是不可用(exapmle,結果包含錯誤信息)將被替換爲0.

回答

3

有兩種方法可以考慮。第一種方法是在將results對象傳遞給replace函數之前將其與默認值混合。

var defaults = { 
    rows: 0 
}; 
var data = lang.mixin(lang.clone(defaults), result); 

lang.replace(template, data); 

第二種方法是而不是傳遞的數據對象,通過它知道如何丟失時的默認值的功能。

http://dojotoolkit.org/reference-guide/1.9/dojo/_base/lang.html#with-a-function

+0

一直在尋找這個答案了一段時間,我一直使用從與string.replace返回JSON運行dojo.replace後刪除空... – tik27

相關問題