2016-10-13 2 views
0

Я чувствую себя глупым, прося об этом, но я также потратил на него слишком много времени и не могу найти ответа. Вот моя ситуация:Использовать полный путь к компоненту в Handlebars

Я использую EmberJS 2.8 с ember-cli 2.8. Я использую ember-cli-materialize в проекте и должен изменить один из его компонентов (md-input) в качестве обходного пути до тех пор, пока дефект в модуле не будет исправлен (на исправление для модуля уже есть PR).

Я создал свой собственный md-input в моем components каталоге и просто reopen()ember-cli-materialize в компонент, чтобы добавить мое исправление. Это прекрасно работает.

Что я хочу сделать, это добавить тест интеграции, который не срабатывает, как только обходной путь, который я делаю, больше не нужен. Я думал, что сделаю это, просто явно используя компонент ember-cli-materialize в своем тесте и посмотрев, будет ли он делать то, что я ожидаю. Звучит просто, и я уверен, что это так, но я не могу заставить его работать для меня. Я делаю что-то вроде следующего:

import hbs from 'htmlbars-inline-precompile'; 

test('check if md-input workaround needed', function (assert) { 
    // a little setup here 
    //... 

    this.render(hbs`{{ember-cli-materialize.md-input label='Something' value='something else'}}`); 
    //make a change and do my assertion here to see if things are still broken 
}); 

Проблема заключается в том рули не может найти компонент в пути я обеспечиваю. Помните, что я переопределяю компонент самостоятельно, поэтому я не могу просто сделать {{md-input}}, потому что он будет использовать мою версию, когда я хочу использовать версию ember-cli-materialize. Я пытался использовать несколько путей к компоненту в помощнике шаблона без успеха:

ember-cli-materialize.md-input 
ember-cli-materialize.components.md-input 
ember-cli-materialize.templates.components.md-input 
ember-cli-materialize.templates.components.md-input 

Я знаю, что это должно быть просто, но я не вижу, что я делаю неправильно здесь. Если бы кто-нибудь мог указать мне в правильном направлении, я был бы признателен, спасибо!

+0

вы пробовали '{{ ember-cli-materialize/md-input ... '? –

ответ

1

Вы можете ссылаться на этот запрос тянуть непосредственно в package.json, как это, если это поможет вашей ситуации лучше:

ember-cli-materialize: "https://github.com/mike-north/ember-cli-materialize/pull/PULL_REQUEST_ID/head" 

Как указано в npm docs

git://github.com/user/project.git#commit-ish 
git+ssh://[email protected]:project.git#commit-ish 
git+ssh://[email protected]/project.git#commit-ish 
git+http://[email protected]/project/blah.git#commit-ish 
git+https://[email protected]/project/blah.git#commit-ish 
Смежные вопросы