2014-01-16 3 views
0

Я использую Петрушка 3.0 с Flex расширений, но желающие использовать синтаксис spicelib для выполнения группы команд:Инъекции с использованием Spicelib команды группы синтаксиса

 Commands.asSequence() 
       .create(LoadCachedCredentialsCommand) 
       .create(LoginCommand) 
       .lastResult(appInit_resultHandler) 
       .error(appInit_errorHandler) 
       .execute(); 

Когда делает это так, у меня есть заметил, что вложение с метаданными в командах не работает. Это ожидаемое поведение? Я предположил, что вся нормальная функциональность с инъекцией при определении команд в контексте также будет работать в этой ситуации. Но я хотел подтвердить это, чтобы убедиться, что я просто не делаю что-то неправильно.

ответ

0

Ожидается, что сам Спайцелиб не знает о Петрушке. Если вы хотите, чтобы ваша последовательность будет управляться петрушка, вам нужно добавить его вручную в контексте:

var sequence:Command = Commands.asSequence() 
           .create(LoadCachedCredentialsCommand) 
           .create(LoginCommand) 
           .lastResult(appInit_resultHandler) 
           .error(appInit_errorHandler) 
           .execute(); 
var context:Context = ...;   
ManagedCommands.wrap(sequence) 
       .execute(context); 

Смотрите также here в документации Петрушка.

+0

спасибо. В конце концов я нашел такое же решение в руководстве. С тех пор я обнаружил, что, используя этот метод, инсталляция конструктора через InjectConstructor не работает. Он не находит соответствующий тип управляемого объекта. Но инъекция свойств прекрасна. Наверное, может быть, это ошибка ... но с чем-то не так сложно обойти. – user3204406

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