2015-03-13 8 views
9

मैंने पढ़ा है कि/घटकों के अंदर निर्देशिका/फ़ोल्डर्स अब समर्थित हैं। एम्बर-क्ली का उपयोग करके मैं आवश्यक उपनिर्देशिका/घटक उत्पन्न कर सकता हूं। हालांकि, मैं घटक का संदर्भ नहीं ले सकता।उपनिर्देशिका में एम्बर घटक

उदाहरण के लिए अगर मैं इस तरह एक फ़ोल्डर संरचना:

app/components/sub/test-comp.js 
app/templates/components/sub/test-comp.hbs 

संदर्भित द्वारा: (एक और .hbs फ़ाइल में)

{{test-comp model=model}} 

मुझे निम्न त्रुटि देता है:

A helper named 'test-comp' could not be found 

एम्बर: 1.10.0
एम्बर-क्ली : 0.2.0

उत्तर

16

आप घटक का पूर्ण पथ का उपयोग करने की जरूरत है:

{{sub/test-comp model=model}} 

संपादित करें: इस मुद्दे सिंह कर रहा है के संदर्भ में, यह पता चला है कि यह एक जनरेटर समस्या है। घटक जनरेटर इस तरह कुछ बनाता है:

import Ember from 'ember'; 
import layout from '../templates/components/sub/foo-bar'; 

export default Ember.Component.extend({ 
    layout: layout 
}); 

जहां तक ​​मुझे पता है, इस तरह के लेआउट को आयात करने का कोई कारण नहीं है। जब तक कि कुछ बड़ा नहीं बदला जाता है, घटक लेआउट स्वचालित रूप से खोजे जाते हैं (यदि आप डिफ़ॉल्ट नामकरण सम्मेलनों का उपयोग कर रहे हैं)। मैं नहीं पता है क्यों यह इस (एक बग हो सकता है) करता है, लेकिन आप इस तरह से आयात को हटाने के द्वारा इसे ठीक कर सकते हैं:

import Ember from 'ember'; 

export default Ember.Component.extend({ 

}); 

संपादित करें 2: यह this is a known issue तरह दिखता है। मुझे अभी भी पता नहीं है कि मैन्युअल रूप से लेआउट आयात करना आवश्यक क्यों है, क्योंकि घटक को इसके बिना ठीक काम करना चाहिए।

+0

मैंने कोशिश की और त्रुटि थोड़ा अलग है: मॉड्यूल 'myApp/घटक/टेम्पलेट्स/घटक/उप/परीक्षण-कंप' – leojh

+0

मॉड्यूल नहीं ढूंढ सका यह एक विषम पथ है। क्या आपको सही त्रुटि मिलती है? आपके 'घटकों' फ़ोल्डर के अंदर 'टेम्पलेट्स' फ़ोल्डर की तलाश करने का कोई कारण नहीं है। – GJK

+0

इसके अलावा, आप एम्बर और एम्बर-सीएलआई के कौन से संस्करण उपयोग कर रहे हैं? – GJK

संबंधित मुद्दे