为什么不能将相同的修饰符添加到上下文两次?

时间:2014-09-06 00:26:16

标签: javascript famo.us

我一直在玩Famo.us定位课程: http://famo.us/university/famous-101/positioning/

在第4页,他们讨论了链接修饰符。为什么不可能多次重复使用相同的修饰符?

我尝试了示例中的以下代码:

mainContext
  .add(translateModifierOne)
  .add(rotateModifierOne)
  .add(redSurface);

mainContext
  .add(rotateModifierTwo)
  .add(rotateModifierOne)
  .add(translateModifierTwo)
  .add(greySurface);

mainContext
  .add(rotateModifierTwo)  
  .add(greySurface);

检查DOM,我只看到一个。

谢谢,

JD

2 个答案:

答案 0 :(得分:0)

回答我自己的问题:

仅出现单个div的原因是由于修饰符维持单个状态:

Modifier.prototype.modify = function modify(target) {
    _update.call(this);
    **this._output.target = target;**
    return this._output;
};

如果修改器可以支持一系列目标,那真的很酷!

答案 1 :(得分:0)

I explain in this answer with examples why you cannot re-use Modifiers

它还通过将这些可渲染内容添加到视图(渲染节点)并链接到修改器来显示修改器如何对多个渲染器产生影响。