Rumah > Soal Jawab > teks badan
Saya ingin mendapatkan dan menukar pembolehubah dalam pengawal peringkat teratas di kilang
習慣沉默2017-05-15 17:08:12
Secara amnya apabila saya mengusahakan projek, perkhidmatan mempunyai dua tujuan:
Pertama, ia digunakan sebagai kaedah awam, seperti kaedah penyerahan, perkhidmatan tertentu dalam kotak timbul dan perkhidmatan am lain yang serupa.
Kedua, ia digunakan apabila memindahkan parameter atau objek antara pengawal tertentu mengikut keperluan khas Situasi ini jarang berlaku dan biasanya tidak disyorkan~
Apabila anda bercakap tentang menukar pembolehubah pengawal peringkat atas dalam perkhidmatan, saya rasa anda memberikan serpihan idea anda, bukannya titik permintaan asas~ Apakah permintaan anda?
某草草2017-05-15 17:08:12
Ia tidak boleh dikendalikan secara langsung, terdapat dua cara:
1 Tukar nilai melalui fungsi panggil balik
2
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="myApp" >
<p ng-controller="myCtrl">
{{ value.name }} {{ value.value }}
</p>
<hr />
<p ng-controller="myCtrl2">
{{ value.name }} {{ value.value }}
</p>
<script>
var app = angular.module('myApp', []);
app.service('myService', function() {
this.valueSet = function(value){
this.valueFunction(value);
};
this.valueCallback = function(callback){
var newValue = {
name : "hello",
value : "world"
};
this.valueFunction(newValue);
callback(newValue);
};
this.valueFunction = function(value){
value.name += ",";
value.value += "!";
return value;
};
});
app.controller('myCtrl', ['$scope', 'myService', function($scope, myService) {
$scope.value = {
name : "你好",
value : "世界"
};
//回调方式改版 $scope 的值
myService.valueCallback(function(value){
$scope.value = value;
});
}]);
app.controller('myCtrl2', ['$scope', 'myService', function($scope, myService) {
$scope.value = {
name : "你好",
value : "世界"
};
myService.valueSet($scope.value);
}]);
</script>
</body>
</html>
漂亮男人2017-05-15 17:08:12
Boleh, tetapi tidak disyorkan.
Enkapsulasi data pengawal ke dalam objek, dan kemudian hantarkannya sebagai parameter kepada kaedah kilang.