2015-04-14 19 views
12

Tôi đã đọc rất nhiều bài viết giải thích sự khác biệt giữa @, =&. Tôi đã thấy rất nhiều người sử dụng =? trong mã của họ. Điều đó có nghĩa là gì?Dấu chấm hỏi làm gì trong một phạm vi cô lập Angular ràng buộc?

Thật không may, tôi dường như không thể tìm kiếm trên Google hoặc SO vì câu trả lời vì công cụ tìm kiếm bỏ qua các ký tự đặc biệt.

Trả lời

19

? làm cho thuộc tính tùy chọn. Nếu không, bạn sẽ nhận được NON_ASSIGNABLE_MODEL_EXPRESSION nơi Angular đang tìm kiếm một thuộc tính không tồn tại.

Từ các tài liệu:

Nếu tài sản phạm vi phụ huynh không tồn tại, nó sẽ ném một ngoại lệ NON_ASSIGNABLE_MODEL_EXPRESSION. Bạn có thể tránh hành vi này bằng cách sử dụng =? hoặc =? attr để gắn cờ thuộc tính là tùy chọn.

https://docs.angularjs.org/api/ng/service/ $ biên dịch # -scope-

+1

Chính xác câu trả lời tôi đang tìm kiếm. Sẽ đánh dấu bình luận của bạn đúng ngay sau khi giới hạn thời gian tối thiểu SO lên :) – jonhobbs

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