2012-07-06 20 views
11

làm cách nào để tạo lớp trợ giúp/tiện ích có thể truy cập được từ nhiều bộ điều khiển? Ví dụ, tôi có hai bộ điều khiển: UpdateItemCtrlCreateItemCtrl. Chúng có các chức năng phổ biến bên trong làm tăng dự phòng và giảm khả năng quản lý.Làm thế nào để tạo lớp trợ giúp có thể truy cập bằng bộ điều khiển trên AngularJS

Tôi muốn tạo lớp ItemSaveHelper mà tôi sẽ đặt các phương thức phổ biến bên trong và gọi chúng từ bộ điều khiển hiện hoạt.

Trả lời

19

Bạn muốn tạo một service.

Dịch vụ chỉ là một đĩa đơn có thể được tiêm vào những thứ khác nhau để cung cấp chức năng mô-đun/chia sẻ. Dưới đây là ví dụ đơn giản: http://jsfiddle.net/andytjoslin/pHV4k/

function Ctrl1($scope, itemManager) { 
    $scope.addItem = function(text) { 
     itemManager.items.push(text); 
    }; 
} 

function Ctrl2($scope, itemManager) { 
    $scope.items = itemManager.items; 
} 

app.factory('itemManager', function() { 
    return { 
     items: [] 
    }; 
}); 
+0

yup nên làm điều đó. cảm ơn! –

+0

chỉ cần cập nhật liên kết https://docs.angularjs.org/guide/services –

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