Làm thế nào tôi có thể viết các thuộc tính dữ liệu bằng cách sử dụng Angular?


229

Khi tôi cố gắng sử dụng một data attributetrong của tôi template, như thế này:

<ol class="viewer-nav">
    <li *ngFor="#section of sections" data-value="{{ section.value }}">
        {{ section.text }}
    </li>
</ol>

Angular 2 tai nạn với:

NGOẠI TRỪ: Lỗi phân tích mẫu: Không thể liên kết với 'giá trị phần' vì đây không phải là thuộc tính gốc đã biết ("

] data-partvalue = "{{part.value}}"> {{part.text}}

Tôi rõ ràng đang thiếu một cái gì đó với cú pháp, xin vui lòng giúp đỡ.

Câu trả lời:


471

Sử dụng cú pháp ràng buộc thuộc tính thay thế

<ol class="viewer-nav"><li *ngFor="let section of sections" 
    [attr.data-sectionvalue]="section.value">{{ section.text }}</li>  
</ol>

hoặc là

<ol class="viewer-nav"><li *ngFor="let section of sections" 
    attr.data-sectionvalue="{{section.value}}">{{ section.text }}</li>  
</ol>

Xem thêm :


20
Làm thế nào để tôi truy cập giá trị của thuộc tính dữ liệu?
Sean W

4
Vui lòng tạo một câu hỏi mới với một số mã thể hiện những gì bạn cố gắng thực hiện.
Günter Zöchbauer

10
Đây phải là câu trả lời số 1 của Google cho Không thể liên kết với '' vì đây không phải là thuộc tính được biết đến của truy vấn '' . Nhận xét này có thể giúp một chút ...
netzaffin

1
@netzaffin Đây là một câu trả lời hữu ích nhưng tôi đã gặp phải lỗi không thể liên kết nhiều lần và đây là lần đầu tiên đây là vấn đề / giải pháp thực tế.
Stack Underflow

32

Về quyền truy cập

<ol class="viewer-nav">
    <li *ngFor="let section of sections" 
        [attr.data-sectionvalue]="section.value"
        (click)="get_data($event)">
        {{ section.text }}
    </li>  
</ol>

get_data(event) {
   console.log(event.target.dataset.sectionvalue)
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.