Tôi tự hỏi về tác động hiệu suất của các biến thể mã dưới đây dưới dạng các thang phức tạp. Một phần của câu trả lời cho điều này (những thuộc tính sử dụng) đã được giải quyết trong AngularJS : Why ng-bind is better than {{}} in angular? nhưng tôi muốn hiểu tác động của việc sử dụng các hàm thay vì các thuộc tính. Nó có vẻ như với tôi rằng với các thuộc tính Angular "biết" theo nghĩa khi có sự thay đổi, trong khi một hàm mờ đục nên Angular sẽ không biết, và sẽ phải đánh giá mọi lúc. Tuy nhiên, theo câu hỏi SO khác được đề cập ở trên, Angular đã được đánh giá mỗi lần với templating trực tiếp anyway. Vì vậy, có thực sự bất kỳ hình phạt hiệu suất cho việc sử dụng một chức năng thay vì một tài sản? Và những ưu và nhược điểm của từng cái này là gì?Hiệu suất của các tùy chọn liên kết AngularJS
1 khuôn mẫu Direct với tài sản
<div>Hello, {{user.name}}</div>
2 ng-bind-mẫu với tài sản
<div ng-bind-template="Hello, {{user.name}}"</div>
3 ng-bind với tài sản
<div>Hello, <span ng-bind="user.name"></span></div>
4 Direct khuôn mẫu với chức năng
<div>Hello, {{GetUserName()}}</div>
5 ng-bind-mẫu với chức năng
<div ng-bind-template="Hello, {{GetUserName()}}"</div>
6 ng-bind với chức năng
<div>Hello, <span ng-bind="GetUserName()"></span></div>
Cuộc gọi chức năng bổ sung có nghĩa là phụ phí.Ngoài ra bạn không bao giờ muốn sử dụng một chức năng trong xem mà gây ra một yêu cầu async trừ khi nó là sự kiện dựa ... rất nhiều thử nó mặc dù – charlietfl
Vâng, tôi nghĩ rằng bạn đã trả lời hầu hết các câu hỏi quan trọng. Ý tôi là, tôi nghĩ bạn không nên sử dụng các chức năng cho những thứ như vậy, nó là một chi phí không cần thiết. Hàm nên được sử dụng khi liên kết xuất phát từ khung nhìn và thuộc tính khi liên kết xuất phát từ mô hình. –
@LenilsondeCastro: Bạn có nghĩa là "... chức năng nên được sử dụng khi các ràng buộc đến từ _controller_? –