คำถามติดแท็ก angular

คำถามเกี่ยวกับ Angular (เพื่อไม่ให้สับสนกับ AngularJS) ซึ่งเป็นกรอบเว็บจาก Google ใช้แท็กนี้สำหรับคำถามเชิงมุมซึ่งไม่เจาะจงสำหรับแต่ละเวอร์ชัน สำหรับเฟรมเวิร์กเว็บ AngularJS (1.x) ที่เก่ากว่าให้ใช้แท็ก angularjs

4
RouterModule.forRoot (ROUTES) เทียบกับ RouterModule.forChild (ROUTES)
อะไรคือความแตกต่างระหว่างสองสิ่งนี้และอะไรคือความแตกต่างของแต่ละกรณี? เอกสารจะไม่เป็นประโยชน์ว่า: forRoot สร้างโมดูลที่มีคำสั่งทั้งหมดเส้นทางที่กำหนดและบริการเราเตอร์เอง forChild สร้างโมดูลที่มีคำสั่งทั้งหมดและเส้นทางที่กำหนด แต่ไม่รวมบริการเราเตอร์ การเดาที่คลุมเครือของฉันคือโมดูลหนึ่งสำหรับโมดูล 'หลัก' และอีกโมดูลหนึ่งสำหรับโมดูลที่นำเข้า (เนื่องจากพวกเขาจะมีบริการจากโมดูลหลักอยู่แล้ว) แต่ฉันไม่สามารถนึกถึงกรณีการใช้งานได้จริงๆ
112 angular  router 


9
<img>: ค่าที่ไม่ปลอดภัยที่ใช้ในบริบท URL ทรัพยากร
ตั้งแต่อัปเกรดเป็น Angular 2 รุ่นล่าสุดimgแท็กของฉัน: &lt;img class='photo-img' [hidden]="!showPhoto1" src='{{theMediaItem.photoURL1}}'&gt; กำลังแสดงข้อผิดพลาดของเบราว์เซอร์: ข้อยกเว้นเดิม: ข้อผิดพลาด: ค่าที่ไม่ปลอดภัยที่ใช้ในบริบท URL ทรัพยากร ค่าของ url คือ: http://veeu-images.s3.amazonaws.com/media/userphotos/116_1464645173408_cdv_photo_007.jpg แก้ไข: ฉันได้ลองทำตามคำแนะนำในวิธีแก้ปัญหาอื่น ๆ แล้วว่าคำถามนี้ควรจะซ้ำกัน แต่ฉันได้รับข้อผิดพลาดเดียวกัน ฉันได้เพิ่มรหัสต่อไปนี้ลงในคอนโทรลเลอร์: import {DomSanitizationService} from '@angular/platform-browser'; @Component({ templateUrl: 'build/pages/veeu/veeu.html' }) export class VeeUPage { static get parameters() { return [[NavController], [App], [MenuController], [DomSanitizationService]]; } constructor(nav, app, menu, sanitizer) …
112 angular 

14
ใช้คำสั่งตามเงื่อนไข
ฉันใช้วัสดุที่ 2 md-raised-buttonการเพิ่ม ฉันต้องการใช้คำสั่งนี้ก็ต่อเมื่อเงื่อนไขบางอย่างกลายเป็นจริง ตัวอย่างเช่น: &lt;button md-raised-button="true"&gt;&lt;/button&gt; อีกตัวอย่างหนึ่ง: ฉันสร้างรูปแบบปฏิกิริยาไดนามิกพื้นฐานใน plunker ฉันใช้formArrayNameคำสั่งของรูปแบบปฏิกิริยาสำหรับอาร์เรย์ของการควบคุม ฉันต้องการใช้formArrayNameคำสั่งเฉพาะในกรณีที่เงื่อนไขเฉพาะกลายเป็นจริงมิฉะนั้นอย่าเพิ่มformArrayNameคำสั่ง นี่คือการเชื่อมโยง plunker

8
การคอมไพล์ Just-in-Time (JiT) กับ Ahead-of-Time (AoT) ใน Angular
ฉันอ้างถึงเอกสารนี้และเจอแนวคิดการรวบรวม หนึ่งสามารถใช้การรวบรวม JIT หรือ AOT อย่างไรก็ตามฉันพบว่ามันสั้นมากและจำเป็นต้องทราบรายละเอียดต่อไปนี้ ความแตกต่างระหว่างสองเทคนิคนี้ คำแนะนำเกี่ยวกับเวลาที่ควรใช้

21
จะฉีดหน้าต่างลงในบริการได้อย่างไร?
ฉันกำลังเขียนบริการ Angular 2 ใน TypeScript ซึ่งจะใช้ประโยชน์จากlocalstorageไฟล์. ฉันต้องการที่จะฉีดอ้างอิงถึงเบราว์เซอร์windowวัตถุในการให้บริการของฉันตั้งแต่ฉันไม่ต้องการที่จะอ้างอิงตัวแปรใด ๆ ทั่วโลกเช่น $window1.x ฉันจะทำอย่างไร?

16
จะถอนการติดตั้ง / อัพเกรด Angular CLI ได้อย่างไร?
เมื่อฉันพยายามสร้างโครงการใหม่ด้วยAngular CLIด้วย: ng n app ฉันได้รับข้อผิดพลาดนี้: fs.js: 640 return binding.open (pathModule._makeLong (path), stringToFlags (แฟล็ก), โหมด); ^ TypeError: เส้นทางต้องเป็นสตริงหรือบัฟเฟอร์ที่ TypeError (เนทีฟ) ฉันจะอัพเกรดหรือถอนการติดตั้งAngular CLI ได้อย่างไร?

9
ฉันจะส่งคืนการตอบสนองจากการเรียก Observable / http / async ในเชิงมุมได้อย่างไร
ฉันมีบริการที่ส่งคืนค่าที่สังเกตได้ซึ่งส่งคำขอ http ไปยังเซิร์ฟเวอร์ของฉันและรับข้อมูล ฉันต้องการที่จะใช้ข้อมูลนี้ undefinedแต่ฉันมักจะจบลงด้วยการ มีปัญหาอะไร? บริการ : @Injectable() export class EventService { constructor(private http: Http) { } getEventList(): Observable&lt;any&gt;{ let headers = new Headers({ 'Content-Type': 'application/json' }); let options = new RequestOptions({ headers: headers }); return this.http.get("http://localhost:9999/events/get", options) .map((res)=&gt; res.json()) .catch((err)=&gt; err) } } ส่วนประกอบ: @Component({...}) export class EventComponent …

22
ng ให้บริการตรวจไม่พบการเปลี่ยนแปลงไฟล์โดยอัตโนมัติ
ฉันต้องเรียกใช้ng serveทุกครั้งเมื่อมีการเปลี่ยนแปลงใด ๆ กับไฟล์ต้นฉบับฉันไม่มีข้อผิดพลาดในคอนโซล Angular CLI: 1.6.2 Node: 8.9.1 OS: linux ia32 Angular: 5.1.2 ... animations, common, compiler, compiler-cli, core, forms ... http, language-service, platform-browser ... platform-browser-dynamic, router @angular/cdk: 5.0.2-c3d7cd9 @angular/cli: 1.6.2 @angular/material: 5.0.3-e20d8f0 @angular-devkit/build-optimizer: 0.0.36 @angular-devkit/core: 0.0.22 @angular-devkit/schematics: 0.0.42 @ngtools/json-schema: 1.1.0 @ngtools/webpack: 1.9.2 @schematics/angular: 0.1.11 @schematics/schematics: 0.0.11 typescript: 2.4.2 …
110 angular 

5
ฟังก์ชัน pipe () ใน Angular คืออะไร
ไปป์เป็นตัวกรองสำหรับการแปลงข้อมูล (รูปแบบ) ในเทมเพลต ฉันเจอpipe()ฟังก์ชันดังต่อไปนี้ pipe()ฟังก์ชันนี้หมายความว่าอย่างไรในกรณีนี้? return this.http.get&lt;Hero&gt;(url) .pipe( tap(_ =&gt; this.log(`fetched hero id=${id}`)), catchError(this.handleError&lt;Hero&gt;(`getHero id=${id}`)) );

6
ฉันจะฟังเหตุการณ์การกดแป้นทั้งหน้าได้อย่างไร?
ฉันกำลังมองหาวิธีผูกฟังก์ชันเข้ากับทั้งหน้าของฉัน (เมื่อผู้ใช้กดปุ่มฉันต้องการให้เรียกใช้ฟังก์ชันใน component.ts ของฉัน) มันง่ายมากใน AngularJS ด้วย a ng-keypressแต่ใช้ไม่ได้กับ(keypress)="handleInput($event)". ฉันลองใช้กระดาษห่อ div ทั้งหน้า แต่ดูเหมือนจะไม่ได้ผล จะใช้งานได้เมื่อโฟกัสอยู่ที่มันเท่านั้น &lt;div (keypress)="handleInput($event)" tabindex="1"&gt;

5
Angular 2 Karma Test "ชื่อส่วนประกอบ" ไม่ใช่องค์ประกอบที่รู้จัก
ใน AppComponent ฉันกำลังใช้ส่วนประกอบ nav ในโค้ด HTML UI ดูดี ไม่มีข้อผิดพลาดเมื่อทำการเสิร์ฟ ng และไม่มีข้อผิดพลาดในคอนโซลเมื่อฉันดูแอป แต่เมื่อฉันรัน Karma สำหรับโครงการของฉันมีข้อผิดพลาด: Failed: Template parse errors: 'app-nav' is not a known element: 1. If 'app-nav' is an Angular component, then verify that it is part of this module. 2. If 'app-nav' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' …


3
ส่งผ่านพารามิเตอร์ไปยังตัวป้องกันเส้นทาง
ฉันกำลังทำงานกับแอพที่มีบทบาทมากมายที่ฉันต้องใช้ยามเพื่อบล็อกการนำทางไปยังส่วนต่างๆของแอพตามบทบาทเหล่านั้น ฉันรู้ว่าฉันสามารถสร้างคลาสการ์ดป้องกันสำหรับแต่ละบทบาทได้ แต่จะมีคลาสเดียวที่ฉันสามารถส่งผ่านพารามิเตอร์ไปได้ กล่าวอีกนัยหนึ่งฉันต้องการที่จะทำสิ่งที่คล้ายกันนี้: { path: 'super-user-stuff', component: SuperUserStuffComponent, canActivate: [RoleGuard.forRole('superUser')] } แต่เนื่องจากทั้งหมดที่คุณผ่านคือชื่อประเภทของยามของคุณจึงไม่สามารถคิดวิธีที่จะทำเช่นนั้นได้ ฉันควรจะบิตกระสุนและเขียนคลาสยามแต่ละตัวต่อบทบาทและทำลายภาพลวงตาของความสง่างามด้วยการมีประเภทพารามิเตอร์เดี่ยวแทนหรือไม่

6
Angular2: แสดงผลองค์ประกอบโดยไม่มีแท็กตัด
ฉันกำลังดิ้นรนเพื่อหาวิธีทำสิ่งนี้ ในองค์ประกอบหลักแม่แบบจะอธิบายถึง a tableและtheadองค์ประกอบ แต่มอบหมายการแสดงผลtbodyไปยังองค์ประกอบอื่นเช่นนี้: &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;Name&lt;/th&gt; &lt;th&gt;Time&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody *ngFor="let entry of getEntries()"&gt; &lt;my-result [entry]="entry"&gt;&lt;/my-result&gt; &lt;/tbody&gt; &lt;/table&gt; ส่วนประกอบ myResult แต่ละรายการแสดงผลtrแท็กของตัวเองโดยทั่วไปจะเป็นดังนี้: &lt;tr&gt; &lt;td&gt;{{ entry.name }}&lt;/td&gt; &lt;td&gt;{{ entry.time }}&lt;/td&gt; &lt;/tr&gt; เหตุผลที่ฉันไม่ใส่สิ่งนี้ลงในองค์ประกอบหลักโดยตรง (หลีกเลี่ยงความต้องการส่วนประกอบ myResult) คือจริงๆแล้วคอมโพเนนต์ myResult นั้นซับซ้อนกว่าที่แสดงไว้ที่นี่ดังนั้นฉันจึงต้องการใส่ลักษณะการทำงานในองค์ประกอบแยกต่างหากและไฟล์ DOM ที่ได้นั้นดูไม่ดี ฉันเชื่อว่านี่เป็นเพราะไม่ถูกต้องเนื่องจากtbodyสามารถมีได้เฉพาะtrองค์ประกอบ(ดู MDN)แต่ DOM ที่สร้างขึ้น (แบบง่าย) ของฉันคือ: &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;Name&lt;/th&gt; …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.