คำถามติดแท็ก angular2-template

สำหรับคำถามที่อ้างถึง Angular Template Syntax ได้แก่ : interpolation, input (property) bindings, output (event) bindings, two-way binding, local parameters, star syntax ฯลฯ แท็กนี้ใช้เฉพาะกับเวอร์ชันเชิงมุม 2.x ขึ้นไป

20
การเชื่อม HTML เชิงมุม
ฉันกำลังเขียนแอปพลิเคชันเชิงมุมและฉันมีการตอบสนอง HTML ที่ฉันต้องการแสดง ฉันจะทำอย่างไร ถ้าฉันเพียงใช้ไวยากรณ์การผูกพัน{{myVal}}มันเข้ารหัสอักขระ HTML ทั้งหมด (แน่นอน) ฉันต้องการอย่างใดอย่างหนึ่งที่จะผูกinnerHTMLของdivกับค่าตัวแปร

23
Angular 2 เลื่อนไปด้านบนสุดในการเปลี่ยนเส้นทาง
ในแอพ Angular 2 ของฉันเมื่อฉันเลื่อนหน้าลงและคลิกลิงก์ที่ด้านล่างของหน้ามันจะเปลี่ยนเส้นทางและพาฉันไปหน้าถัดไป แต่มันจะไม่เลื่อนไปที่ด้านบนของหน้า ดังนั้นหากหน้าแรกมีความยาวและหน้าที่ 2 มีเนื้อหาเพียงเล็กน้อยก็จะสร้างความประทับใจว่าหน้า 2 ไม่มีเนื้อหา เนื่องจากเนื้อหาจะปรากฏต่อเมื่อผู้ใช้เลื่อนไปที่ด้านบนของหน้า ฉันสามารถเลื่อนหน้าต่างไปที่ด้านบนของหน้าเว็บใน ngInit ของส่วนประกอบ แต่มีวิธีแก้ปัญหาที่ดีกว่านี้ที่สามารถจัดการเส้นทางทั้งหมดในแอปของฉันโดยอัตโนมัติหรือไม่?

1
ไม่มีผู้ให้บริการสำหรับ TemplateRef! (NgIf -> TemplateRef)
ฉันพยายามแสดงเครื่องหมายถูกหากคำตอบคือคำตอบที่ยอมรับได้: template: `<div ngIf="answer.accepted">✔</div>` แต่ฉันได้รับข้อผิดพลาดนี้: EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef) ผมทำอะไรผิดหรือเปล่า?

2
ฉันจะเขียนคุณสมบัติข้อมูลโดยใช้ Angular ได้อย่างไร
เมื่อฉันพยายามที่จะใช้data attributeในของฉันtemplateเช่นนี้: <ol class="viewer-nav"> <li *ngFor="#section of sections" data-value="{{ section.value }}"> {{ section.text }} </li> </ol> Angular 2 ขัดข้องด้วย: ข้อยกเว้น: ข้อผิดพลาดในการแยกวิเคราะห์แม่แบบ: ไม่สามารถผูกกับ 'sectionvalue' เนื่องจากไม่ใช่คุณสมบัติดั้งเดิมที่รู้จัก (" ] data-sectionvalue = "{{section.value}}"> {{section.text}} เห็นได้ชัดว่าฉันขาดอะไรบางอย่างกับไวยากรณ์โปรดช่วยด้วย

5
วิธีเพิ่ม“ คลาส” ในองค์ประกอบโฮสต์ได้อย่างไร
ฉันไม่ทราบวิธีการเพิ่มองค์ประกอบคลาสให้กับแอตทริบิวต์ของฉัน<component></component>แบบไดนามิกแต่ในเทมเพลต html (component.html) ทางออกเดียวที่ฉันพบคือการแก้ไขรายการผ่านองค์ประกอบพื้นเมือง "ElementRef" วิธีแก้ปัญหานั้นดูซับซ้อนเล็กน้อยที่จะทำสิ่งที่ควรจะง่ายมาก ปัญหาอีกประการหนึ่งคือ CSS จะต้องมีการกำหนดไว้นอกขอบเขตองค์ประกอบทำลายการห่อหุ้มส่วนประกอบ มีวิธีแก้ไขที่ง่ายกว่านี้ไหม? บางสิ่งที่เหมือนกับ<root [class]="..."> .... </ root>ในเทมเพลต

14
เชิงมุม 2: ไม่สามารถผูกกับ 'ngModel' ได้เนื่องจากไม่ใช่คุณสมบัติที่รู้จักของ 'อินพุต'
ฉันกำลังพยายามใช้ Dynamic Forms ใน Angular 2 ฉันได้เพิ่มฟังก์ชั่นเพิ่มเติมเช่น Delete และ Cancel ไปยังแบบฟอร์มไดนามิก ฉันได้ทำตามเอกสารนี้: https://angular.io/docs/ts/latest/cookbook/dynamic-form.html ฉันได้ทำการเปลี่ยนแปลงรหัส ฉันพบข้อผิดพลาดที่นี่ ฉันจะทำให้ข้อผิดพลาดนี้เกิดขึ้นได้อย่างไร คุณสามารถค้นหารหัสเต็มได้ที่นี่: http://plnkr.co/edit/SL949g1hQQrnRUr1XXqt?p=previewซึ่งทำงานในเครื่องอัดเสียง แต่ไม่ใช่ในระบบท้องถิ่นของฉัน รหัส Html: <div> <form [formGroup]="form"> <div *ngFor="let question of questions" class="form-row"> <label [attr.for]="question.key">{{question.label}}</label> <div [ngSwitch]="question.controlType"> <input *ngSwitchCase="'textbox'" [formControlName]="question.key" [id]="question.key" [type]="question.type" [(ngModel)]="question.value"> <select [id]="question.key" [(ngModel)]="question.value" *ngSwitchCase="'dropdown'" [formControlName]="question.key" > <option *ngFor="let opt of …

2
อะไรคือ - ในเทมเพลต Angular 2
ฉันเจอไวยากรณ์ที่ได้รับมอบหมายแปลก ๆ ภายในเทมเพลต Angular 2 <template let-col let-car="rowData" pTemplate="body"> <span [style.color]="car[col.field]">{{car[col.field]}}</span> </template> ปรากฏว่าlet-colและlet-car="rowData"สร้างตัวแปรใหม่สองตัวcolและcarจากนั้นสามารถผูกไว้กับภายในแม่แบบ ที่มา: https://www.primefaces.org/primeng/#/datatable/templating let-*ไวยากรณ์มหัศจรรย์นี้เรียกว่าอะไร? มันทำงานยังไง? ความแตกต่างระหว่างlet-somethingและlet-something="something else"คืออะไร?

4
<ng-container> vs <template>
ng-container มีการกล่าวถึงในเอกสารประกอบ Angular 2 แต่ไม่มีคำอธิบายวิธีการทำงานและกรณีการใช้งาน มันถูกกล่าวถึงโดยเฉพาะในngPluralและngSwitchคำสั่ง ไม่&lt;ng-container&gt;ทำสิ่งเดียวกันเป็น&lt;template&gt;หรือมันขึ้นอยู่กับว่ามีคำสั่งเป็นลายลักษณ์อักษรที่จะใช้อย่างใดอย่างหนึ่งของพวกเขา? เป็น &lt;ng-container *ngPluralCase="'=0'"&gt;there is nothing&lt;/ng-container&gt; และ &lt;template [ngPluralCase]="'=0'"&gt;there is nothing&lt;/template&gt; ควรจะเหมือนกันหรือไม่ เราจะเลือกหนึ่งในนั้นได้อย่างไร สามารถ&lt;ng-container&gt;ใช้ในคำสั่งกำหนดเองได้อย่างไร?

7
Angular2 - ตัวแปรส่วนตัวควรสามารถเข้าถึงได้ในแม่แบบหรือไม่
หากมีการประกาศตัวแปรprivateในคลาสคอมโพเนนต์ฉันจะสามารถเข้าถึงตัวแปรนั้นในเทมเพลตขององค์ประกอบนั้นได้หรือไม่ @Component({ selector: 'my-app', template: ` &lt;div&gt; &lt;h2&gt;{{title}}&lt;/h2&gt; &lt;h2&gt;Hello {{userName}}&lt;/h2&gt; // I am getting this name &lt;/div&gt; `, }) export class App { public title = 'Angular 2'; private userName = "Test Name"; //declared as private }

18
ไม่สามารถผูกกับ 'ngForOf' เนื่องจากไม่ใช่คุณสมบัติที่รู้จักของ 'tr' (รุ่นสุดท้าย)
ฉันใช้ Angular2 Final release (2.1.0) เมื่อฉันต้องการแสดงรายชื่อ บริษัท ฉันพบข้อผิดพลาดนี้ ในfile.component.ts: public companies: any[] = [ { "id": 0, "name": "Available" }, { "id": 1, "name": "Ready" }, { "id": 2, "name": "Started" } ]; ในfile.component.html: &lt;tbody&gt; &lt;tr *ngFor="let item of companies; let i =index"&gt; &lt;td&gt;{{i}}&lt;/td&gt; &lt;td&gt;{{item.name}}&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;

9
จะตัดข้อความใน Angular2 ได้อย่างไร?
มีวิธีที่ฉันสามารถจำกัดความยาวของสตริงเป็นอักขระตัวเลขได้หรือไม่? สำหรับเช่น: ฉันต้อง จำกัด มีความยาวถึง {{ data.title }}20 มีท่อหรือตัวกรองจำกัดความยาวหรือไม่?

4
ส่ง enums ในเทมเพลตมุมมอง angular2
เราสามารถใช้ enums ในเทมเพลตมุมมอง angular2 ได้หรือไม่? &lt;div class="Dropdown" dropdownType="instrument"&gt;&lt;/div&gt; ส่งผ่านสตริงเป็นอินพุต: enum DropdownType { instrument, account, currency } @Component({ selector: '[.Dropdown]', }) export class Dropdown { @Input() public set dropdownType(value: any) { console.log(value); }; } แต่จะผ่านการกำหนดค่า enum ได้อย่างไร? ฉันต้องการสิ่งนี้ในเทมเพลต: &lt;div class="Dropdown" dropdownType="DropdownType.instrument"&gt;&lt;/div&gt; แนวทางปฏิบัติที่ดีที่สุดคืออะไร? แก้ไข: สร้างตัวอย่าง: import {bootstrap} from 'angular2/platform/browser'; import {Component, View, …

9
NgFor ไม่อัปเดตข้อมูลด้วย Pipe ใน Angular2
ในสถานการณ์นี้ฉันกำลังแสดงรายชื่อนักเรียน (อาร์เรย์) ในมุมมองด้วยngFor: &lt;li *ngFor="#student of students"&gt;{{student.name}}&lt;/li&gt; มันยอดเยี่ยมมากที่มีการอัปเดตทุกครั้งที่ฉันเพิ่มนักเรียนคนอื่นในรายการ แต่เมื่อฉันให้มันเป็นpipeไปfilterตามชื่อนักเรียน &lt;li *ngFor="#student of students | sortByName:queryElem.value "&gt;{{student.name}}&lt;/li&gt; จะไม่อัปเดตรายการจนกว่าฉันจะพิมพ์บางสิ่งในฟิลด์ชื่อนักเรียนที่กรอง นี่คือการเชื่อมโยงไปยังplnkr Hello_world.html &lt;h1&gt;Students:&lt;/h1&gt; &lt;label for="newStudentName"&gt;&lt;/label&gt; &lt;input type="text" name="newStudentName" placeholder="newStudentName" #newStudentElem&gt; &lt;button (click)="addNewStudent(newStudentElem.value)"&gt;Add New Student&lt;/button&gt; &lt;br&gt; &lt;input type="text" placeholder="Search" #queryElem (keyup)="0"&gt; &lt;ul&gt; &lt;li *ngFor="#student of students | sortByName:queryElem.value "&gt;{{student.name}}&lt;/li&gt; &lt;/ul&gt; sort_by_name_pipe.ts import {Pipe} from …

10
ปุ่มปิดการใช้งาน Angular2
ฉันรู้ว่าในangular2ฉันสามารถปิดการใช้งานปุ่มที่มี [disable]แอตทริบิวต์ตัวอย่างเช่น: &lt;button [disabled]="!isValid" (click)="onConfirm()"&gt;Confirm&lt;/button&gt; แต่ฉันสามารถทำได้โดยใช้[ngClass]หรือ[ngStyle]? ชอบมาก: &lt;button [ngStyle]="{disabled : !isValid}" (click)="onConfirm()"&gt;Confirm&lt;/button&gt; ขอบคุณ.

8
วิธีตรวจสอบความยาวของอาร์เรย์ที่สังเกตได้
ในองค์ประกอบ Angular 2 ของฉันฉันมีอาร์เรย์ที่สังเกตได้ list$: Observable&lt;any[]&gt;; ในเทมเพลตของฉันฉันมี &lt;div *ngIf="list$.length==0"&gt;No records found.&lt;/div&gt; &lt;div *ngIf="list$.length&gt;0"&gt; &lt;ul&gt; &lt;li *ngFor="let item of list$ | async"&gt;item.name&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; แต่ list $ .length ใช้ไม่ได้ในกรณีของ Observable array อัปเดต: ดูเหมือนว่า(list $ | async) ?. lengthทำให้เรามีความยาว แต่โค้ดด้านล่างยังใช้ไม่ได้: &lt;div&gt; Length: {{(list$ | async)?.length}} &lt;div *ngIf="(list$ | async)?.length&gt;0"&gt; &lt;ul&gt; &lt;li *ngFor="let …

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