我正在使用xpages组件,当getComponent(“comp”)。getValue()返回null或返回“”(空字符串)时,我很难去掉。
有没有办法告诉?当其他组件返回“”时,是否存在返回null的组件?
答案 0 :(得分:5)
如果尚未分配value属性,则组件将具有空值。如果它绑定到文档上的字段并且该文档还没有该字段,例如,这是一个全新的文件。如果它绑定到尚未设置的范围变量,也会发生这种情况。
最佳做法是尽可能将数据绑定到数据源,而不是通过组件进行绑定。如果myField尚未在document1上设置,以及myField的值为“”,则document1.getItemValueString("myField")
将返回空字符串。此外,如果您将来删除组件comp
,编译器将不会(并且不能)告诉您在SSJS中调用该组件,并且您将收到运行时错误。如果您正在使用document1.getItemValueString(“myField”),它仍然有效。
另外,正如Tim Tripcony所说,它更慢https://twitter.com/timtripcony/status/359532216382001152,这篇博文更深入地介绍了为什么要与数据交谈而不是组件http://www.timtripcony.com/blog.nsf/d6plinks/TTRY-942UPQ