নির্বাচক "মাই-অ্যাপ" কোনও উপাদানগুলির সাথে মেলে না


86

সমস্যাটি যখন আমি আমার অ্যাপ্লিকেশনটি চালিত করি তখন এটি ঠিকঠাক হয়। তবে আমি যখন তা রিফ্রেশ করি তখন বেশিরভাগ সময় আমি নীচে নামি।

নির্বাচক "মাই-অ্যাপ" কোনও উপাদানের সাথে মেলে না

তবে আশ্চর্যের বিষয় হ'ল আমি যখন আমার অ্যাপটি রিফ্রেশ করি তখন এটিও কার্যকর হয় works

সুতরাং শেষ পর্যন্ত আমার কাছে আমার অ্যাপটির একটি অদ্ভুত আচরণ রয়েছে এবং এটি বের করতে অক্ষম।
কখনও কখনও এটি কাজ করে কখনও কখনও ...

কোন পরামর্শ, কোড নিয়ে আসতে পারে না ???

দ্রষ্টব্য: আমার কাছে এখনও জটিল কাঠামো বা উপাদান নেই তবে সাধারণ বাস্তবায়ন।


সম্পূর্ণ ত্রুটি বার্তা বা কোড বা my-appউপাদান এর অংশ পোস্ট করুন ।
পারদীপ জৈন

আইই ১১-এ - Potentially unhandled rejection [2] The selector "micropuppy-app" did not match any elementsএবং এফএফ- 'এক্সেসপশনে: নির্বাচক "মাই-অ্যাপ" কোনও উপাদানের সাথে মেলে না বেসএক্সেপশন @ cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.7/… ... .. ... ... .. এবং চালিয়ে যান '
মাইক্রোনিক্স

আমি এই দু'বার দেখেছি - এটি একটি আইই সমস্যা, বিশেষত যদি এটি সঠিকভাবে মনে থাকে তবে এটি কীভাবে স্ক্রিপ্টগুলি লোড করে। আমি ভয় পাচ্ছি আমি এর ঠিকঠাকটি জানি না, অনেক আগে ছিল, তবে আশা করি এটি আপনাকে সঠিক দিকে নির্দেশ করতে পারে।
সাস্সা

সাসেক্সা, আমি এফএফ-তেও এই সমস্যার মুখোমুখি। সমস্যা কি জানি না। অসহায় বোধ হয় ...
মাইক্রোনিক্স

উত্তর:


102

আমার সাথে এটি ঘটেছিল কারণ আমি headট্যাগটিতে আমার কোডটি আমদানি করছিলাম , সুতরাং এটি ডিওএম প্রস্তুত হওয়ার আগেই সম্ভবত এটি চলছে এবং বুটস্ট্র্যাপ করার চেষ্টা করছিল।

আপনি হয় স্ক্রিপ্টটিকে bodyট্যাগের নীচে সরিয়ে নিতে পারেন , বা ইভেন্ট শ্রোতার মধ্যে বুটস্ট্র্যাপ কোডটি রাখতে পারেন:

document.addEventListener("DOMContentLoaded", function(event) {
  bootstrap(AppComponent);
});

বা:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Example app</title>
  </head>
  <body>
    <my-app></my-app>
  </body>
  <script src="main.js" charset="utf-8"></script>
</html>

main.jsটাইপ স্ক্রিপ্ট ডকুমেন্টেশনে প্লঙ্কার ডেমোতে কোনও স্ক্রিপ্ট অন্তর্ভুক্ত নেই । যদিও আমি ত্রুটি আছে।
এলফায়ার

4
আমি আমার সংকলিত টাইপসক্রিপ্ট ফাইলগুলি বান্ডিল করার চেষ্টা না করা পর্যন্ত আমি এই ত্রুটিটি পাইনি।
PS2goat

4
মডিউল বান্ডিলিংয়ের জন্য ওয়েবপ্যাকটি ব্যবহার করার সময় আমি একই সমস্যার মুখোমুখি হয়েছি .... এবং একবার আমি স্ক্রিপ্টটি .. বডি ট্যাগের পরে রাখলাম .. এটি কাজ করছে ...
রিফ্যাক্টর

4
আপনি এটি window.onload = function(){ platformBrowserDynamic().bootstrapModule(AppModule); }
উইন্ডোতেও যুক্ত

4
ওএমজি আমি এতক্ষণ দেওয়ালে মাথা ঠেকিয়েছিলাম এটি বের করার চেষ্টা করছিলাম এবং এটি এত সহজ। ধন্যবাদ!
প্যাট্রিক গ্রাহাম

70

কৌণিক 4: আমাকে সূচক html ফাইলটিতে পরিবর্তন <app-root></app-root>করতে <my-app></my-app>হয়েছিল


4
সঙ্গে একটি হতে সমস্যা আছে মনে হচ্ছে, angular-cliএকটি তৈরি app-rootরেফারেন্স index.html, ফাইল যখন হিরোস ঘুরে দেখুন টিউটোরিয়াল entrypoint TS ফাইলে পরিবর্তে বোঝায় my-app। আইএমও দু'জনের একই নামকরণ কনভেনশন ব্যবহার করা উচিত যেহেতু অ্যাংুলার টিম angular-cliএকটি প্রকল্প তৈরির সর্বোত্তম উপায় হিসাবে সুপারিশ করে আসছে।
পিটার ডেভিড কার্টার

কিছুটা অনুরূপ, ঠিক যদি কেউ ওয়েবপ্যাক-ডেভ-সার্ভার (ডাব্লুডিএস) এর সাথে এই সমস্যার মুখোমুখি হয় - নির্বাচক <app-root> থাকাকালীন আমি আমার অ্যাপটি তৈরি করেছিলাম এবং ডাব্লুডিএস ব্যবহার করে অ্যাপটি চালু করেছিলাম। তারপরে আমি আমার উপাদান এবং সূচি html- তে নির্বাচককে <my-app> এ পরিবর্তন করেছি। আমি ত্রুটি উপরোক্ত পেতে শুরু যখন যে। সমস্যাটি ছিল, 'ডিস্ট' ফোল্ডারের অধীনে index.html আপডেট করা হয়নি। আমি ডাব্লুডিএস বন্ধ করে দিয়েছি, আবার আমার অ্যাপ তৈরি করেছি এবং তারপরে অ্যাপ্লিকেশন চালু করেছি। সবকিছু ঠিকঠাক কাজ শুরু!
ramtech

26

যা করতে হবে:

  1. App.module.ts এ যান (মূল মডিউলগুলিতে, বেশিরভাগ ক্ষেত্রে এটি একটি নাম)
  2. আপনার " বুস্ট্রেপ :" অংশ আছে কিনা তা পরীক্ষা করুন - যদি যোগ না করা হয়:

    bootstrap: [AppComponent] // যেখানে অ্যাপকোম্পোনটি আপনার মূল উপাদান

  3. এটি এখন কাজ করে কিনা তা পরীক্ষা করে দেখুন - অ্যাপকোম্পোন্টে যান এবং আপনার নির্বাচককে পরীক্ষা করুন । এটি সূচক html এ বডিতে ট্যাগগুলির মতো হওয়া উচিত

সুতরাং index.html এর মধ্যে এমন কিছু থাকা উচিত:

<body>
  <app-root>Loading...</app-root>
</body>

যেখানে আপনার পরিবর্তে <app-root>প্রধান অ্যাপকোম্পোনেন্ট থেকে নির্বাচক ব্যবহার করা উচিত

  1. আপনি যদি বাহ্যিক ওয়েবসাইটে আপনার কৌণিক অ্যাপ্লিকেশন ব্যবহার করছেন তবে আপনার কৌনিক ফাইলগুলির জন্য শিরোনামে ডিফার ব্যবহার করা উচিত

4
<body>ট্যাগ এটি স্থির করে
অ্যালেক্স ওকরুশকো

ধন্যবাদ! এটা আমার সমস্যার সমাধান।
মুহাম্মদ আইয়াজ

6

আমি কৌনিক ইউনিভার্সাল ব্যবহার করার সময় আমি একই সমস্যা পেয়েছি। কিন্তু এটা কারণ আমি ব্যবহার করছি হয় BrowserModuleমধ্যে main.node.ts , সমাধান

  imports: [
    UniversalModule,
    BrowserModule   // <- delete this will solve the issue
  ],

এবং আরও তথ্যের জন্য এখানে চেক করুন: https://github.com/angular/universal/issues/542


এটি কৌণিকের সর্বশেষতম সংস্করণগুলির জন্য সত্য নয়। এই দিনগুলিতে ব্রাউজারমডিউল ইউনিভার্সালমডিউল প্রতিস্থাপন করে তবে ক্লায়েন্ট এবং সার্ভারের আদান-প্রদানের জন্য একটি অ্যাপ্লিকেশন প্যারামিটার হিসাবে পাস করা হয়। এখানে দেখুন: github.com/angular/universal/blob/…
ডেসাস

5

আপনি যদি এখান থেকে কৌণিক 2 / এসপিএন কোর টেম্পলেটটি ব্যবহার করছেন: http://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/ আপনি শেষ কয়েকটি লাইন প্রতিস্থাপন করতে পারেন নীচের সাহায্যে বুট-ক্লায়েন্ট.টস সাহায্য করে (এবং এইচএমআর আপনার পৃষ্ঠাটি পুনরায় লোড করার সময় প্রচুর ভীতিজনক কনসোল ত্রুটিগুলি এড়িয়ে চলে):

const bootApplication = () => { platform.bootstrapModule(AppModule); };
if (document.readyState === 'complete') {
    window.onload = () => bootApplication();
    location.reload();
} else {
    document.addEventListener('DOMContentLoaded', bootApplication);
}

4

আমি একটি কৌণিক 5.2 অ্যাপ্লিকেশনটি কৌণিক 6.1 এ আপডেট করছি এবং অনুরূপ সমস্যাটিতে চলেছি run এই ক্ষেত্রে সমস্যাটি হ'ল index.html ফাইলটি মোটেই নেই <body>। পরিবর্তে এটি my-appউপাদান অন্তর্ভুক্ত করা হয়েছিল ।

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Example</title>
  <base href="https://stackoverflow.com/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<my-app></my-app>
</html>

এটি অ্যাঙ্গুলার 5.2 (এবং পূর্ববর্তী সংস্করণগুলিও) নিয়ে কাজ করত কারণ উত্পন্ন সূচি html এ স্ক্রিপ্ট ট্যাগগুলি শেষে রাখা হয়েছিল। 6.1 এ আপগ্রেড করার পরে স্ক্রিপ্ট ট্যাগগুলি পরিবর্তে ফাইলের শুরুতে স্থাপন করা হয়েছিল (এবং আমি ধরে নিই যে <my-app></my-app>মূল উপাদানটি আসলে উপস্থিত হওয়ার আগেই সম্পাদিত হয়েছিল ।

সমাধান সরাতে ছিল <body>মধ্যে index.html । (এটি মূলত উপাদানটিতে স্থাপন করা হয়েছিল কারণ কেউ শরীরের উপাদানগুলিতে শর্তযুক্ত ক্লাস প্রয়োগ করতে চেয়েছিল ngClass।)


4

উপরের উত্তরগুলির মধ্যে ননই আমার সমস্যাটিকে সমাধান করেছে his বুটস্ট্র্যাপ উপাদান হিসাবে আপনার একাধিক উপাদান থাকা উচিত নয়। সুতরাং, বুটস্ট্র্যাপ অ্যারেটিতে কেবল একটি উপাদান থাকা উচিত mistake নীচে কোড) .এটি আমাকে সাহায্য করেছে।

@NgModule({
 declarations: [
AppComponent,
SanackBarBodyComponent,
SuccessNavBarComponent,
AlertNavBarComponent,
NormalNavBarComponent
],
entryComponents:[ 
SanackBarBodyComponent,
SuccessNavBarComponent,
AlertNavBarComponent,
NormalNavBarComponent
],

imports: [
BrowserModule,
BrowserAnimationsModule
],
 providers: [],
 bootstrap: [AppComponent
]
})
export class AppModule { }

2

হতে পারে আপনি ব্যবহার করতে পারেন

স্থগিত

আপনার শিরোনাম জেএস-ফাইলগুলিতে ট্যাগ করুন।

http://www.w3schools.com/TAgs/att_script_defer.asp


এই উত্তরটি এই ত্রুটির জন্য বেশিরভাগ ক্ষেত্রে কাজ করে। এটি সত্যই উত্তর হওয়া উচিত।
চিন্মায়

2

আমার সাথে এটি হয়েছিল যখন আমি বুটস্ট্র্যাপ উপাদানটি AppComponentএকটি নতুন উপাদানতে পরিবর্তন করেছি । আপনি যখন এটি পরিবর্তন করেন আপনার মূল এটিতেও পরিবর্তন index.htmlকরা উচিত। index.htmlবুটস্ট্র্যাপ উপাদান থাকা উচিত।

উদাহরণস্বরূপ, যদি আপনি পরিবর্তন app-componentকরতে app-loginমধ্যে app.module.tsবুটস্ট্র্যাপ বিভাগে তারপর আপনি আপনার আপডেট হওয়া উচিত index.htmlভালো

<body>
  <app-login></app-login>
</body>

1

জ্যাঙ্গো + কৌণিক

আমার একটি কাস্টম সূচক html ছিল, কৌনিক সিএলআই দ্বারা উত্পাদিত নয়।

আমার এই ত্রুটি হয়েছিল কারণ আমি জেনারেট হওয়া স্ক্রিপ্ট ফাইলগুলি <head>ক্লোজিং </body>ট্যাগের শেষে পরিবর্তে বিভাগে রেখেছি ( <app-root></app-root>ট্যাগগুলির পরে )


1

আমি যখন নতুন উপাদান তৈরি করি তখন নীচের সমস্যাগুলি সমাধান করার জন্য নীচের পদক্ষেপগুলি অনুসরণ করা দরকার।

পদক্ষেপ -১- এর সাথে নতুন কমোন্ট তৈরি করুন ng g c lakshya। পদক্ষেপ -২- অ্যাপ্লিকেশনের অধীনে লক্ষ্যা ফলফার তৈরি করেছে ৪ টি ফাইল। স্টেপ-3- হল Index.html প্রয়োজন <app-root></app-root>থেকে <app-lakshya></app-lakshya> ধাপ 4- app.Module.ts ফাইল পরিবর্তন বুটস্ট্র্যাপ: [AppComponent] বুটস্ট্র্যাপ জানিয়েছে: [LakshyaComponent]

উপরের ত্রুটি সমাধান।


0

আপনার app.module.ts- এ, যদি আপনার বুটস্ট্র্যাপে আমার অ্যাপ থাকে তবে মন্তব্য করুন বা মুছুন।

বুটস্ট্র্যাপ: [অ্যাপকম্পোয়েন্ট, // মাই-অ্যাপ]

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.