Trao đổi dữ liệu giữa controllers
AngularJS
23
White

My Mai viết ngày 19/10/2015

Tối qua ngồi mần Angular một xíu nên hôm chia sẽ với các bạn 1 tip để share data từ giữa controller khác nhau bình thường thì mình hay dùng $broadcast hôm nay sẽ dùng viết 1 function ở service để share nha:

Đơn giản là cách share này mình thông qua service để giữ data cho việc share cho 2 controller A & controller B

Chúng ta sẽ sử dụng functiondataShare để giữ data cho việc gửi data từ controller A sang controller B

angular.module('todo')
  .factory('dataShare', function () {
    var dataShare = {};
    return {
      data: dataShare
    }
  })

Còn ở controller thì

Controller A

angular.module('todo')
    .controller('A', function ($scope, dataShare) {
        $scope.data_wanna_send = {name: 'My Mai', age: 23) # data mà bạn muốn controller B nhận
        dataShare.data = data_wanna_send # assign giá trị mới cho data ở dataShare service 
    });

Controller B

angular.module('todo')
    .controller('B', function ($scope, dataShare) {
        $scope.data_receive = dataShare.data # data mà bạn muốn nhận từ controller A chính là data bạn đã assign cho dataShare service
    });

Cái này thì có lẽ hơi dài so với qui định, nếu dùng $broadcast thì ngắn hơn... nhưng mà cũng khá hay :)
Hy vọng các bạn có thể biết được thêm 1 cách để share data từ 2 controller khác nhau :)

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

My Mai

33 bài viết.
177 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
21 8
Lotus là gì? (Link) là một Ruby Web Framework mới với chú trọng vào cấu trúc tách rời với thiết kế đơn giản và dễ hiểu. Hiện tại thì Lotus vừa re...
My Mai viết 3 năm trước
21 8
White
19 21
Bạn muốn load 3 image khác nhau (Ý mình ở đây là dùng tag không phải background nhé) cho 3 loại màn hình khác nhau (small, medium, large). Bạn sẽ l...
My Mai viết 3 năm trước
19 21
White
19 9
Tham gia cộng đồng Thoáng đó cũng đã 2 năm từ lúc tớ tham gia cộng đồng Ruby Việt Nam. Giờ ngồi ngẫm lại được gì và mất gì :v Thật thì chẳng mất...
My Mai viết gần 2 năm trước
19 9
Bài viết liên quan
White
12 11
Khi các bạn viết sử dụng AngularJS có thấy thắc mắc về phần làm thế nào để mình viết 1 function mà có thể sử dụng cho toàn bộ app của mình không? V...
My Mai viết hơn 3 năm trước
12 11
White
7 2
1. Giới thiệu: Lovefield, một relational database được viết hoàn toàn bởi JavaScript & được phát triển bởi Google. Cung cấp cú pháp truy vấn tư...
Cùi Bắp viết hơn 2 năm trước
7 2
White
19 4
Tạo ứng dụng chat với 50 dòng code, Firebase và AngularJS Từ lúc viết blog tới giờ, mình chưa có bài nào hướng dẫn các bạn tạo ra một sản phẩm từ ...
Huy Hoàng Phạm viết gần 3 năm trước
19 4
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
33 bài viết.
177 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!