Hỏi về cách gọi function trong angularjs
-
- Mình có cái function tạo slug trong phần tin tức như thế này:
- Sử dụng lại ở category mình lại chèn vào:
=>>>>>>>> Như thế này cùi bắp lắm - Giờ mình muốn tạo 1 file riêng để chỉ việc gọi lại thôi:
- Dùng require thì nó ko hiểu, vì require là của nodejs
- Dùng onblur() của javacript lấy giá trị của title và gán cho slug thì thằng $scope.slug nó lại ko lấy được giá trị
- Dùng keypress() thì $scope.slug nó lại ko lấy được ký tự cuối của title
- Giờ có giải pháp nào hay ko ạ, mọi người chỉ mình với, cảm ơn nhiều
- Mình có cái function tạo slug trong phần tin tức như thế này:
-
@Lê-Văn-Hoàng said in Hỏi về cách gọi function trong angularjs:
Dùng keypress() thì $scope.slug nó lại ko lấy được ký tự cuối của title
Bạn có thể tạo ra
service
trong Angular để sử lại lại nhiều lần trong các controller.Như hiện tại, bạn đang gọi luôn hàm
global
, như vậy thì cũng có thể gọi lại ở mọi nơi khác mà chỉ cần định nghĩa 1 lần. Các này có thể gây xung đột, nếu bạn có nhiều hàm trùng tên hoặc trùng với 1 thư viện khác. Cách tốt nhất là tạo ra 1 angular service.Bạn nên đưa code lên thay vì chụp ảnh. Như vậy mình có thể đưa mã giả cho bạn, chứ ảnh thì mình không thể gõ lại được :)))
-
Bạn tạo một factory:
app.factory('changeToSlug', function() {
var slug;
function set(data) {
slug= data;
}
function get() {
slug = $title.toLowerCase();
......
........//đoạn trong function ChangeToSlug của bạn
return slug;
}return { set: set, get: get }
});
trong controller gọi:
.controller('myController'['$scope', 'ChangeToSlug', function($scope, ChangeToSlug){
ChangeToSlug.set('[email protected]');
ChangToSlug.get();
}])code trên có thể không đúng nhưng hướng giải quyết là vậy bạn tham khảo xem và search thêm google nhé.