2016-12-02 3 views
0

Последовательный пример мастер-модели Framer и по какой-то причине не может заставить условный оператор работать.Framer/Coffescript Условный не работает как ожидалось

Этот код работает, как ожидалось

layerA = new Layer 
    backgroundColor: "#fff" 
    borderRadius: 4 
    width: 200 
    height: 200 
    rotation: 0 


layerA.center() 

layerA.states.add 
    grow: 
    scale: 1.5 
    rotation: 90 

shrink: 
    scale: 1 
    rotation: 0 

layerA.states.animationOptions = 
    curve: "spring(400, 50, 30)" 

layerA.onClick -> 
    layerA.states.next("grow", "shrink") 

Однако, если добавить условное ниже него игнорируется?

if layerA.states.current is "grow" 
     layerA.states.animationOptions = 
     curve: "ease" 
     time: 2 
    else 
     layerA.states.animationOptions = 
     curve: "spring(400,50,30)" 

ответ

2

Кажется, что Framer API был обновлен и теперь .name свойство должно быть добавлено к states.current для этой работы.

Так следующие условные

if layerA.states.current is "grow" 
    layerA.states.animationOptions = 
    curve: "ease" 
    time: 2 
else 
    layerA.states.animationOptions = 
    curve: "spring(400,50,30)" 

... стал бы

if layerA.states.current.name is "grow" 
    layerA.states.animationOptions = 
    curve: "ease" 
    time: 2 
else 
    layerA.states.animationOptions = 
    curve: "spring(400,50,30)" 
+1

Вы можете прочитать больше об изменениях в анимации API здесь: https://github.com/koenbok/Framer/wiki/Animation-Upgrade-Guide – Niels

+0

@Niels: Это будет отличная ссылка для будущего, спасибо. – counselor

Смежные вопросы