به اشتراک گذاری داده ها بین کنترلرها در AngularJs
نویسنده: مسعود پاکدل
تاریخ: ۱۳۹۲/۰۹/۱۷ ۹:۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
var app = angular.module('myApp', []);
app.factory('BookData', function () {
var books = [
{ code: 1, name: 'book1', },
{ code: 2, name: 'book2', },
{ code: 3, name: 'book3', },
{ code: 4, name: 'book4', },
{ code: 5, name: 'book5', }
];
return books;
}); app.controller('controller1', function ($scope, BookData) {
$scope.books = BookData;
}); app.controller('controller2', function ($scope, BookData) {
$scope.books = BookData;
}); <script type="text/javascript" src="~/scripts/app/controller1.js"></script>
<div ng-app="myApp"> <div ng-controller="controller1"> <p>Data from controller1</p> <table> <tr ng-repeat="book in books"> <td> {{book.code}} </td> <td> {{book.name}} </td> </tr> </table> </div> <div ng-controller="controller2"> <p>Data from controller2</p> <table> <tr ng-repeat="book in books"> <td> {{book.code}} </td> <td> {{book.name}} </td> </tr> </table> </div> </div>
sampleApp.controller('controller2', function ($scope, BookData) {
$scope.books = BookData;
$scope.change = function(){
BookData[0].name = 'change this book';
}
}); <div ng-controller="controller2">
<p>Data from controller2</p>
<table>
<tr ng-repeat="book in books">
<td>
{{book.code}}
</td>
<td>
{{book.name}}
</td>
</tr>
</table>
<a href="javascript:void(0)" ng-click="change();" >Click here to change book1</a>
</div>