2017-02-19 13 views
6

मैंने ng2 cli का उपयोग करके एक bearbones ng2 ऐप इंस्टॉल किया है। मेरे AppModule में मैंने schema: [ CUSTOM_ELEMENTS_SCHEMA ] जोड़ा, और मेरे AppComponent टेम्पलेट में मेरे पास <row></row> है। लेकिन मैं getting- हूँकोणीय 2 CUSTOM_ELEMENTS_SCHEMA काम नहीं करता

बिना क्रिया वादा अस्वीकृति: टेम्पलेट पार्स त्रुटि: 'पंक्ति' नहीं एक ज्ञात तत्व है: 1. यदि 'पंक्ति' एक कोणीय घटक है, तो सत्यापित करें कि यह इस का हिस्सा है मॉड्यूल। 2. यदि 'पंक्ति' एक वेब घटक है तो इस संदेश को दबाने के लिए इस घटक के '@ NgModule.schemas' में "CUSTOM_ELEMENTS_SCHEMA" जोड़ें। ("[त्रुटि ->]

AppModule-

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 
import { HttpModule } from '@angular/http'; 

import { AppComponent } from './app.component'; 


@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule 
    ], 
    providers: [], 
    bootstrap: [AppComponent], 
    schemas: [ CUSTOM_ELEMENTS_SCHEMA ] 
}) 
export class AppModule { } 

AppComponent-

import { Component } from '@angular/core'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent {} 

AppComponentTemplate-

<row></row> 

यह क्या बिल्ली जा रहा है है सचमुच यह इतना आसान। पर?

संपादित करें:

नीचे सभी उत्तर संतोषजनक रहे हैं और समस्या में अंतर्दृष्टि प्रदान करते हैं। @yurzui मैं विशेष रूप से स्रोत प्रदान करने के लिए आपके जवाब पसंद है। काश मैं आपको सभी स्वीकार्य उत्तर दे सकता हूं! लेकिन मैं पहली बार होने और मेरी समस्या का सीधा समाधान देने के लिए @camaron का चयन करूंगा। अगर आपको Google के माध्यम से यह प्रश्न मिलता है तो कृपया इस मुद्दे के साथ मदद करने के लिए @yurzui, @camaron, और @Aravind एक +1 दें!

उत्तर

9

आप अपने AppModule

imports: [RowComponent]

संपादित करें द्वारा आयात करने के लिए RowComponent जोड़ने की जरूरत:

उपयोग NO_ERRORS_SCHEMA, इस वजह से कोणीय एक घटक मौजूद नहीं है कि खोजने की कोशिश कर रहा है।

CUSTOM_ELEMENTS_SCHEMA चयनकर्ता नाम में - के साथ घटकों के लिए है।

+0

मेरे पास 'RowComponent' नहीं है, यह समस्या है। यह एक घटक होने का इरादा नहीं है, यह सिर्फ एक यादृच्छिक तत्व नाम है। –

+0

अंतिम संसाधन –

+0

हाँ के रूप में NO_ERRORS_SCHEMA के साथ प्रयास करें। काश मैं जानता था कि क्यों CUSTOM_ELEMENTS_SCHEMA काम नहीं करता है। यदि कोई भी उस प्रश्न का उत्तर नहीं दे सकता है तो मैं इसे –

5

आप अज्ञात गुणों पर पार्स करने के दौरान बदलाव का https://github.com/angular/angular/blob/master/CHANGELOG.md#200-rc5-2016-08-09

डिफ़ॉल्ट, कोणीय इच्छा त्रुटि तक पर एक नज़र डालें, तो भी अगर वे एक साथ तत्वों पर कर रहे हैं - उनके नाम में(उर्फ कस्टम तत्व)। यदि आप कस्टम तत्वों का उपयोग कर रहे हैं, तो मूल्य [CUSTOM_ELEMENTS_SCHEMA] के साथ नया पैरामीटर @ NgModule.schemas भरें।

तो आप समझ सकते हैं कि आप

if (tagName.indexOf('-') > -1) { 
     if (tagName === 'ng-container' || tagName === 'ng-content') { 
     return false; 
     } 

     if (schemaMetas.some((schema) => schema.name === CUSTOM_ELEMENTS_SCHEMA.name)) { 
     // Can't tell now as we don't know which properties a custom element will get 
     // once it is instantiated 
     return true; 
     } 
} 

https://github.com/angular/angular/blob/2.4.8/modules/%40angular/compiler/src/schema/dom_element_schema_registry.ts#L290

तो my-row की तरह कुछ काम करना चाहिए

+0

मैं वास्तव में स्रोत के लिंक की सराहना करता हूं! +1 –

3

निम्नलिखित अपनी गलतियों हैं - सीमांकक के साथ टैग की आवश्यकता है

  1. आपने केवल AppComponent आयात किया है लेकिन इसमें इसके टेम्पलेट के रूप में <row> के साथ कोई तत्व नहीं है।
  2. CUSTOM_ELEMENTS_SCHEMA अनुप्रयोग विकास के दौरान उपयोग नहीं किया जाना चाहिए क्योंकि इसका उपयोग तब होता है जब टेम्पलेट्स को पार्स किया जा रहा है (जैसा कि आपके त्रुटि विवरण में कहा गया है)।
  3. <app-root> आपके AppComponent के लिए चयनकर्ता है, लेकिन आपने AppComponent के अपने HTML में <row> का उपयोग किया है।

आपकी आवश्यकता के आधार पर, मैं विभिन्न सुधारों के साथ सुझाव दे सकता हूं। अपने वांछित परिणाम के साथ टिप्पणी करें और मैं उनके आधार पर उत्तर अपडेट कर दूंगा।

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