这两个组件有何不同?

时间:2019-03-06 20:31:02

标签: coldfusion coldfusion-10 cfml

其中一个比另一个更好吗?有什么不同?它们似乎是可互换的

component
{
    property name="some_thing" type="string" value="";
}

vs

component
{
    this.some_thing = "";
}

1 个答案:

答案 0 :(得分:3)

cfproperty

在CF8之后,“ cfproperty”允许设置一个隐式的setter / getter。

它还用于创建Web服务和ORM应用程序,并具有大量的配置属性:

https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-p-q/cfproperty.html

设置/获取

com / foo.cfc

component accessors='true' { 

    // set properties & variables above any component methods

    property name='bar' type='string';
    this.setBar('foo');

    function init(){
        return this;
    }

}

在模板“ foo.cfm”中:

foo = new com.foo();
WriteDump(var=foo.getBar());
// foo

“此”范围

可以在组件的内部和外部访问“ this”范围。

com / foo.cfc

component { 

    // set properties & variables above any component methods

    this.bar = 'foo';

    function init(){
        return this;
    }

}

在模板“ foo.cfm”中:

foo = new com.foo();
WriteDump(var=foo.bar);
// foo

组件中的“变量”范围

不能从组件外部访问组件内的变量范围。