2016-09-18 16 views
13

Tôi đang cố gắng thực hiện liên kết hai chiều đơn giản nhất trong Angular2. Tôi muốn chia sẻ một biến giữa thành phần của tôi và mẫu của nó.Ràng buộc giá trị trong văn bản

mẫu của tôi là:

<textarea [(ngModel)]="currentQuery"></textarea> 

Và thành phần của tôi là:

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

@Component({ 
    moduleId: module.id, 
    selector: 'vs-home', 
    templateUrl: 'home.component.html' 
}) 

export class HomeComponent { 
    private currentQuery: string = ''; 
} 

Theo các tài liệu này nên làm việc nhưng tôi nhận được:

Error: Uncaught (in promise): Error: Template parse errors: 
Can't bind to 'ngModel' since it isn't a known property of 'textarea'. (" 
    <div class="query-bar-container"> 
     <textarea [ERROR ->][(ngModel)]="currentQuery"></textarea> 
     <!-- <button type="button" class="btn btn-default" (click"): [email protected]:15 
+0

Xem cũng [Không thể liên kết với 'ngModel' vì nó không phải là thuộc tính đã biết của 'đầu vào'] (http s: //stackoverflow.com/a/38896469/603003). – ComFreek

Trả lời

10
@NgModule({ 
    ... 
    imports: [ 
     /* BrowserModule or CommonModule */, 
     FormsModule /* or RectiveFormsModule */] 
    ... 
}) 
+0

Cảm ơn, tôi đã nhập nó trong thư mục 'app.module' gốc của tôi, tôi nghĩ điều đó là đủ cho toàn bộ ứng dụng, nhưng rõ ràng là không. – Juicy

+2

Không, bạn cần điều đó trong mọi mô-đun nơi bạn muốn sử dụng chỉ thị của các mô-đun khác. ('BrowserModule' chỉ dành cho' app.module', 'CommonModule' cho tất cả những người khác). Đủ để nhập các mô-đun chỉ cung cấp các dịch vụ một lần trong mô-đun gốc nhưng không cung cấp cho các chỉ thị. –

+0

Bạn nhập mô-đun trình duyệt từ đâu? –

Các vấn đề liên quan