У меня проблема с использованием ember-bootstrap для визуализации формы.Когда маршрут посещен, ничего не отображается, и в консоли появляется сообщение
.
Проект является проектом Bootstrap 3и я только что установил Ember-Boostrap.Чтобы сделать это, я сделал следующее:
ember install ember-bootstrap
ember generate ember-bootstrap --preprocessor=sass
ember generate ember-bootstrap --bootstrap-version=3
Из чтения документа я считаю, что это была правильная последовательность команд?
Затем я создал новый маршрут и в шаблоне я поместилследующее:
{{#bs-form formLayout=formLayout model=this onSubmit=(action "submit") as |form|}}
{{form.element controlType="email" label="Email" placeholder="Email" property="email" required=true}}
{{form.element controlType="password" label="Password" placeholder="Password" property="password" required=true helpText="Minimum 6 characters"}}
{{form.element controlType="radio" label="Radio" property="radio" options=radioOptions optionLabelPath="label"}}
{{form.element controlType="checkbox" label="Checkbox" property="checkbox"}}
{{form.element controlType="textarea" label="Textarea" property="textarea"}}
{{bs-button defaultText="Submit" type="primary" buttonType="submit"}}
{{/bs-form}}
{{outlet}}
Пример шаблона из компонента формы в документе ember-bootstrap.
Как я уже сказал, когда я иду на новый маршрут, я ничего не получаю исообщение об ошибке, показанное выше.
Я чувствую, что, должно быть, я пропустил некоторую часть указаний ... что-то явно отсутствует?
РЕДАКТИРОВАТЬ ОТВЕТ НА ОТВЕТFROM REAL_ATE
Итак, чтобы ответить на вопросы, поднятые Крисом (real_ate) ниже.Я использую Ember 3.8.
Теперь я был очень рад показать отличное «Могу я задать вопрос», и я еще не смотрел эти недели, поэтому я пошел смотреть.Мне показалось странным, что вы получили ошибку, отличную от меня, поэтому я решил начать новый проект и попытаться провести собственную реконструкцию.
Я обнаружил, что я получил именно ту ошибку, которую вы видели (другие могут видеть тот сегмент видео здесь ), а не тот, который я показал на снимке экрана.
Так что я довольно озадачен этим, но это подтверждает ваш вывод.
Мое лучшее предположение заключается в следующем ... примерно в то же время я работал над некоторыми проблемами с другим аддоном и для документирования процесса я сделал несколько снимков экрана с этими ошибками.Я полагаю, что я выбрал неправильный дамп экрана и вставил его в вопрос.Как ни странно, Крис в начале сегмента упомянул кое-что о том, что я на самом деле не скопировал трассировку стека, а вместо этого использовал снимок экрана с трассировкой стека - возможно, если бы я на самом деле скопировал трассировку стека, я бы с меньшей вероятностью сделал что,кажется вероятным, что я это сделал.
Итак ... ради потомков первоначальная ошибка была ...
Uncaught Error: Assertion Failed: An action named 'submit' was not found in <est@controller:login::ember231>
at assert (index.js:163)
at makeClosureAction (glimmer.js:6069)
at action (glimmer.js:5995)
at Object.evaluate (runtime.js:266)
at AppendOpcodes.evaluate (runtime.js:72)
at LowLevelVM.evaluateSyscall (runtime.js:3471)
at LowLevelVM.evaluateInner (runtime.js:3417)
at LowLevelVM.evaluateOuter (runtime.js:3409)
at VM.next (runtime.js:5530)
at TemplateIteratorImpl.next (runtime.js:5632)
, которая была устранена путем предоставления действия 'submit' на контроллересоздан для этой цели и затем обнаружил другую проблему с примером .hbs из ember-bootstrap, включая formLayout=formLayout
, который не существует, если вы его не определили, и ошибка для этого выглядит следующим образом ...
Uncaught Error: Assertion Failed: must provide a valid `formLayout` attribute.
at Object.assert (index.js:163)
at Class.<anonymous> (bs-form.js:11)
at ComputedProperty.get (metal.js:2966)
at _get (metal.js:1591)
at RootPropertyReference.compute (glimmer.js:535)
at RootPropertyReference.value (glimmer.js:384)
at SimpleClassNameBindingReference.compute (glimmer.js:4002)
at SimpleClassNameBindingReference.value (reference.js:367)
at ClassListReference.value (runtime.js:1283)
at ComponentElementOperations.flush (runtime.js:1645)
... это было решено, как я описал в моем ответе ниже .
Так что спасибо Крису и Джен и извините за вводящий в заблуждение вопрос.