Dojo lang.replace - 如何提供默认值,而不是"未定义"?



Dojo lang.replace()将未定义的占位符替换为undefined文本。是否可以在占位符中定义默认值?

假设我想有以下占位符:

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

占位符将替换为返回的行数,但是当变量 rows 不可用时(例如,结果包含错误消息(,它将替换为 0。

您可以考虑两种方法。 第一种是在将 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

最新更新