Dalam AngularJS, perkongsian data antara pengawal boleh menjadi penting, terutamanya dalam aplikasi kompleks yang melibatkan pelbagai langkah borang di mana data yang dimasukkan dalam satu langkah perlu digunakan dalam langkah seterusnya. Artikel ini meneroka kaedah yang berbeza untuk mencapai perkongsian data antara pengawal.
AngularJS membolehkan kami mencipta kilang yang mengembalikan objek. Berkongsi objek sedemikian antara pengawal membolehkan penyegerakan data. Pertimbangkan contoh berikut:
// Kilang
myApp.factory('Data', function() {
return { Medan: '' };
});
// Pengawal
myApp.controller('FirstCtrl', function($skop, Data) {
$skop.Alpha = Data;
});
myApp.controller('SecondCtrl', fungsi($skop, Data) {
$ skop.Beta = Data;
});
Dalam kes ini, kedua-duanya FirstCtrl dan SecondCtrl berkongsi objek Data yang sama, membenarkan mereka mengakses dan mengubah suai sifat Field.
Untuk kawalan yang lebih terperinci , AngularJS menyediakan cara untuk menentukan getter dan setter melalui kilang. Kaedah ini menyediakan antara muka terhad untuk mengakses dan mengemas kini data.
<br>myApp.factory('Data', function () {<br> var data = { FirstName: '' }; </p> <p>kembali {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">getFirstName: function() { return data.FirstName; }, setFirstName: function(firstName) { data.FirstName = firstName; }
};
});
// Pengawal
myApp.controller('FirstCtrl', function($skop, Data) {
$ skop.$watch('firstName', function(newValue) { Data.setFirstName(newValue); });
});
myApp.controller('SecondCtrl', function($scope, Data) {
$scope.$watch(function() { return Data.getFirstName() ; }, function(newValue) { $scope.firstName = newValue; });
});
Di sini, kilang menggunakan getter dan setter untuk mengawal akses kepada sifat FirstName, membenarkan pengawal untuk menetapkan dan memerhati perubahan pada harta benda.
Perkongsian data antara pengawal adalah penting untuk membina aplikasi AngularJS yang interaktif dan dinamik. Kaedah yang digariskan dalam artikel ini menyediakan penyelesaian yang teguh dan boleh disesuaikan untuk penyegerakan data, membolehkan pengawal bekerjasama dan mengurus aliran data yang kompleks dengan cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berkongsi Data Antara Pengawal AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!