2016-01-24 28 views
9

Kể từ v1.4 kiễu góc, nó có thể làm điều này:Chỉ góc: phạm vi vs bindToController

scope: {}, 
bindToController: { 
    name: "=" 
} 

thay vì theo cách cũ làm:

scope: { 
    name: "=" 
}, 
bindToController: true 

Trừ là trực quan hơn, là có bất kỳ sự khác biệt giữa chúng?

+1

Bạn có thể, theo lý thuyết, chuyển nhiều tham số cho chỉ thị và chỉ ràng buộc một vài tham số với bộ điều khiển. Tôi không thể nghĩ ra bất kỳ lý do hợp lệ để làm điều này, nhưng nó là có thể. Với cú pháp ban đầu, đó là tất cả hoặc không có gì. – Claies

+1

http://blog.thoughtram.io/angularjs/2015/01/02/exploring-angular-1.3-bindToController.html kiểm tra bài viết sâu sắc này cho một chút giải thích – Yerken

+0

Bản sao có thể có của [bindToController: Object in directives] (http : //stackoverflow.com/questions/31414115/bindtocontroller-object-in-directives) – estus

Trả lời

6

Hãy nghĩ về bindToController như một đường dẫn di chuyển cho phiên bản tương lai của Góc.

Chúng tôi muốn viết chỉ thị (hoặc các thành phần) với phạm vi phân lập và liên kết với bộ điều khiển các thuộc tính bạn muốn chuyển.

Biến ràng buộc từ phạm vi sẽ dần biến mất.

Trong bản phát hành mới của góc (1.5) bạn không cần sử dụng phạm vi hoặc bindToController, vì phạm vi được tách biệt cho mặc định và cho các biến liên kết với bộ điều khiển, bạn có thể sử dụng các ràng buộc.

Điều này cũng hữu ích để ngăn việc sử dụng phạm vi $. Đọc bài viết này nếu bạn muốn biết thêm thông tin về điều đó: https://toddmotto.com/no-scope-soup-bind-to-controller-angularjs/

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