Những điều nên sử dụng controller để làm gì

Những điều nên sử dụng controller để làm gì

những game nổ hũ uy tín,Bet 68 Game Bài 3C,game dk nhan km

Controller Trong AngularJS

Ngày cập nhật: 12-12-2015 | Số lần xem: 11465 | Phân loại: AngularJS
Tìm kiếm

Controller là một phần quan trọng trong kiến trúc của AngularJS, và có một số công việc cụ thể mà bạn nên giao cho nó:

  • Thiết lập trạng thái ban đầu cho đối tượng $scope.
  • Thêm các hành vi (behavior) vào đối tượng $scope.

Cách định nghĩa controller

Dưới đây là cách được khuyến khích sử dụng khi định nghĩa một controller trong AngularJS:

1
2
3
4
5
var myApp = angular.module('myApp', []);
 
myApp.controller('GreetingController', ['$scope', function($scope) {
 $scope.greeting = 'Chào mừng!';
}]);

Cách này đảm bảo rằng controller được gắn với một module cụ thể và hỗ trợ tốt hơn cho dependency injection.

Một cách không được khuyến khích:

1
2
3
function GreetingController($scope) {
 $scope.greeting = 'Chào mừng!';
}

Lý do tại sao bạn nên tránh cách định nghĩa như trên:

  • Đây là một controller toàn cục và không được đăng ký với bất kỳ module nào.
  • Không hỗ trợ dependency injection — điều này gây khó khăn khi test hoặc mở rộng ứng dụng.

Những điều không nên để controller làm

Controller chỉ nên chứa logic kinh doanh (business logic), không phải mọi thứ! Dưới đây là những công việc bạn không nên giao cho controller:

  • Thao tác trực tiếp với DOM – Controller không nên chứa logic liên quan đến giao diện người dùng. Việc thao tác DOM thủ công sẽ làm giảm khả năng kiểm thử và đi ngược lại nguyên lý databinding mạnh mẽ của AngularJS. Thay vào đó, hãy sử dụng directive để đóng gói các thao tác DOM phức tạp.
  • Định dạng dữ liệu đầu vào – Hãy sử dụng các control form của AngularJS thay vì tự xử lý.
  • Lọc dữ liệu đầu ra – Sử dụng filter của AngularJS thay vì viết code thủ công.
  • Chia sẻ trạng thái giữa các controller – Để thực hiện điều này, hãy sử dụng service của AngularJS, chúng giúp tái sử dụng logic và chia sẻ trạng thái một cách hiệu quả.
  • Quản lý vòng đời của các thành phần khác – Ví dụ như tạo instance service hay quản lý lifecycle component, điều này nên để cho các service hoặc directive đảm nhiệm.

Tài liệu

comments powered by Disqus
Built with Hugo
Theme Stack thiết kế bởi Jimmy