2016-10-11 16 views
6

Tôi muốn lặp lại phần tử cụ thể trong một khoảng thời gian, vì vậy tôi đang sử dụng chỉ thị *ngFor với mảng được mã cứng như [1,2,3,4,5,6,7,8,9,10] và đã hoạt động tuyệt vời. Tôi đã đạt được những gì tôi muốn làm.Góc 2 * ngFor chỉ hỗ trợ thêm 10 phần tử tại một thời điểm trong mẫu nội tuyến

@Component({ 
    selector: 'my-app', 
    template: `<h1>My First Angular App</h1> 
     <div *ngFor="let item of [1,2,3,4,5,6,7,8,9,10]"> 
      {{item}}: My Element 
     </div>` 
}) 

Demo Plunkr

Nhưng ngay sau khi tôi tăng kích thước mảng hơn 10, tôi bắt đầu nhận được dưới đây lỗi. Đó là thực sự gây phiền nhiễu.

[email protected]?main=browser:355 Unhandled Promise rejection: Unsupported number of argument for pure functions: 11 ; Zone: ; Task: Promise.then ; Value: Error: Unsupported number of argument for pure functions: 11(…) Error: Unsupported number of argument for pure functions: 11

Template

<div *ngFor="let item of [1,2,3,4,5,6,7,8,9,10,11]"> 
    {{item}} 
</div>` 

Tôi tò mò muốn biết lý do tại sao lỗi đang xảy ra càng sớm càng mảng tăng kích thước hơn 10? Nhưng một điều thú vị là khi tôi đặt cùng một mảng trong thành phần bên trong biến items= [1,2,3,4,5,6,7,8,9,10,11] và sử dụng items trong *ngFor và nó đã hoạt động.

Có lý do nào đằng sau trường hợp đặc biệt đó không? Xin lỗi tôi nếu tôi thiếu một cái gì đó đơn giản/ngớ ngẩn.

Problem Plunkr

+0

Xin chào, tôi đang gặp khó khăn để đạt được tác vụ này http://stackoverflow.com/a/41039141/3297613. Đây là bản trình diễn https://plnkr.co/edit/B5ucnBONC55WTR3VnFBr?p=preview. Ứng dụng của tôi có một dịch vụ phổ biến nhưng tôi không biết cách tạo một quan sát trên dịch vụ phổ biến đó và làm cho tất cả các dịch vụ khác đăng ký với dịch vụ quan sát cụ thể đó. Tôi chỉ muốn xóa tất cả dữ liệu dịch vụ khi người dùng đăng xuất. –

Trả lời

4

Đây chỉ là một hạn chế của các Angular2 mẫu phân tích cú pháp để tránh phức tạp trong phân tích cú pháp (theo thiết kế). Nó thường là một ý tưởng tốt để giữ dữ liệu trong thể hiện thành phần anyway.

https://github.com/angular/angular/blob/d972d8235458a6e65819f96ee56da059ec76321b/modules/%40angular/compiler/src/view_compiler/util.ts#L82

+0

tôi có thể nhận được bất kỳ tài liệu tham khảo nào đang đề cập đến cùng một điều, tại sao con số này chỉ là 10? –

+0

Tôi đoán tôi đã làm việc này trong phiên bản beta, có thể là đội đã refactored một cái gì đó & đã phá vỡ một cái gì đó: p –

+0

nó không nên, bởi vì chúng tôi không có ống trên biểu hiện của tôi. Nó có thể là trường hợp mà '* ngFor' đang ngầm làm điều gì đó –

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