SWFAddress,为一个以上的深度写一个开关/案例?

时间:2010-09-21 18:58:37

标签: actionscript-3 swfaddress

我正在使用以下开关/案例作为SWF地址:

switch (e.value)
{
    case "/A" :
        function A();
        break;

    case "/B" :
        function B();
        break;

    case "/C" :
        function C();
        break;

    case "/" :
        break;

}

问题是,当我在任何部分(A,B或C)时...还有另一级别的链接,比如说:

www.my-site.com/A/next-level-goes-here

www.my-site.com/A/something-else-in-the-A-level

www.my-site.com/A/third-thing-in-the-A-level

我想为A内部发生嵌套的任何事情写一个案例,但我该怎么做呢?

function anythingNestedInsideOfA()
{
 // handle all the stuff inside of A section here
}

2 个答案:

答案 0 :(得分:2)

使用ifsubstr的组合:

var url:String=e.value;

if (url=="/A") {
 A();
} else if (url.substr(0,3)=="/A/") {
 anythingNestedInsideOfA();
} else if (url=="/B") {
 B();
} else if (url.substr(0,3)=="/B/") {
 anythingNestedInsideOfB();
} ...

答案 1 :(得分:1)

我不会使用这种类型的架构。从我的角度来看,你应该将该url的尾部传递给负责该级别的对象。在这种情况下,您可以在执行此操作时处理“A”,然后将其撕掉并将休息传递到该对象中,在该对象中显示A的内容......依此类推。对于StackOverflow来说,这可能是一个更普遍和更大的话题。