2015-04-15 40 views
5

Tôi là người mới sử dụng AngularJS và trong khi thực hiện khóa học Codecademy tôi gặp khó khăn. Tôi đã cố gắng lặp lại một chỉ thị bằng cách sử dụng cú pháp sau đây.Cú pháp chỉ thị lặp lại góc

<div class="card" ng-repeat="app in apps"> 
    <app-info info="{{ app }}"></app-info> 
</div> 

Tôi đã chơi xung quanh một chút và đã tìm ra tôi cần phải xóa các dấu ngoặc nhọn.

<div class="card" ng-repeat="app in apps"> 
    <app-info info="app"></app-info> 
</div> 

Nhưng nếu tôi không sử dụng chỉ thị, tôi nghĩ mình sẽ truy cập thông tin như thế này. AngularJS documentation.

<div class="card" ng-repeat="app in apps"> 
    {{ app }} 
</div> 

Ai đó có thể giải thích lý do tại sao tôi không cần dấu ngoặc nhọn để giúp tôi hiểu rõ hơn AungularJS. Cảm ơn!

+0

bản sao có thể có của [Cách nhận các thuộc tính được đánh giá bên trong chỉ thị tùy chỉnh] (http://stackoverflow.com/questions/12371159/how-to-get-evaluated-attributes-inside-a-custom-directive) –

Trả lời

1

Cách sử dụng các ký hiệu nội suy {{}} phụ thuộc vào việc thực hiện chỉ thị. Một số chỉ thị như ng-click='expression' hoặc ng-if='expression' có một biểu thức không có đường cong kép.

Trong khi một số chỉ thị khác như ng-src='{{expression}}' chấp nhận ký hiệu nội suy.

Tất cả phụ thuộc vào cách chỉ thị được thiết lập.

Cách sử dụng cơ bản của nội suy là thực hiện biểu thức và thay thế nội dung bằng giá trị trả về của biểu thức (giá trị chuỗi).

Khi bạn tìm hiểu thêm về các chỉ thị, bạn sẽ tìm hiểu cách các thông số được chuyển đến các chỉ thị bằng cách sử dụng @,=,&. Các tham số này có thể là một giá trị chuỗi đơn giản (trong trường hợp này có thể sử dụng một phép nội suy), hoặc một đối tượng hoặc một hàm.

1

Trong trường hợp đặc biệt, sử dụng {{data}} bạn đang đánh giá giá trị của biến đó, nhưng khi bạn làm info="app" trong chỉ thị khác, trong đó có một biến scope gọi info, những gì bạn đang làm là ràng buộc biến info phạm vi của chỉ thị app-info của chúng tôi với bộ điều khiển (hoặc chỉ thị gốc)app biến phạm vi.

+0

I nghĩ rằng tôi hiểu những gì bạn đang nói. Bạn có thể đặt câu trả lời của mình bằng ngôn ngữ đơn giản để dễ hiểu hơn không? –

+0

Theo giá trị thuộc tính mặc định của các chỉ thị Góc được giả định là [biểu thức] (https://docs.angularjs.org/guide/expression) và được đánh giá là như vậy, nhưng trong ngữ cảnh của nút văn bản của phần tử chúng được giả định là văn bản thuần túy và yêu cầu các dấu ngoặc nhọn để thông báo cho [trình phân tích cú pháp] (https://docs.angularjs.org/api/ng/service/$parse) rằng văn bản giữa các dấu ngoặc nhọn là một biểu thức góc cạnh. – HJ05

+0

@ HJ05 có giải thích đúng – Matho

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