【发布时间】:2014-08-14 18:23:39
【问题描述】:
我有一个相当简单的 CFC,它有一组属性,然后是一些与这些属性相关的基本功能。除了作为数组的属性之外,一切似乎都工作正常......
property name="tags" type="array";
这是属性的简单声明。但是,当我尝试在其中一个成员函数中对其执行操作时,出现错误...
public void function addTag(thisTag) {
var local.tags = this.getTags();
if (thisTag.isObjectValid()) {
*ArrayAppend(local.tags,arguments.thisTag);*
this.setTags(local.tags);
}
}
带星号的行是我出错的地方(星号不在代码中)
Element TAGS is undefined in LOCAL.
我做错了什么?
附加信息:
- accessors="true" 在组件声明中设置
- isObjectValid 是另一个 CFC 中的自定义函数 - 它已经过测试并且可以工作
【问题讨论】:
-
在第二行之后放一个 writedump(local) 看看你得到了什么。
-
和你的问题无关,但是var和local的组合不是多余的吗?
-
我得到同样的错误,“元素标签在本地未定义”,但现在它发生在转储行而不是上面的星号行。
-
是的,它是多余的。后来我添加了本地范围,试图解决这个问题并忘记删除var。解决问题后我会清理。
-
writedump(local) 不会抛出错误。如果有的话,它将返回一个空结构。无论如何,writedump(this.getTags()) 会发生什么?注意到趋势了吗?如有疑问,请查看您的数据。
标签: coldfusion cfc cfml coldfusion-11