[英]AngularJS passing string from one controller to another
我剛接觸angular,遇到一個奇怪的問題:無法將字符串從一個控制器傳遞到另一個控制器。
我正在嘗試一些事情,包括使用JQuery來設置data-attribute,而JQuery在沒有Angular的情況下適用於我。 然后通過“服務”實施它。 它對我不起作用。 可能是我弄混了
任何人都可以提供清晰簡單的演示。
提前致謝!
參見下面的代碼。 您需要編寫一個共享服務來保存您的城市名稱(請參閱我在演示中創建的服務),然后無論從服務器那里獲取城市,都需要在共享服務中保存城市。
在另一個控制器中,您需要從共享服務中獲取城市名稱。
var mainMod = angular.module('MainApp', []); mainMod.controller('MainCtrl', ['$scope','dataShare', function ($scope,dataShare) { $scope.city = 'London'; $scope.send = function(){ dataShare.saveCity($scope.city); }; } ]); mainMod.controller('MainCtrl2', ['$scope','dataShare', function ($scope,dataShare) { $scope.getSavedCity = function(){ $scope.cityInAnotherController = dataShare.getData(); } } ]); mainMod.factory('dataShare',function($rootScope){ var service = {}; service.saveCity = function(data){ this.data = data; }; service.getData = function(){ return this.data; }; return service; });
<!-this is your HTML -> <html > <head> <script data-require="angular.js@*" data-semver="2.0.0" src="https://code.angularjs.org/1.4.8/angular.js "></script> <script data-require="jquery@*" data-semver="2.1.4" src="https://code.jquery.com/jquery-2.1.4.js"></script> </head> <body ng-app='MainApp'> <div ng-controller='MainCtrl'> <div> <h4>Ctrl1</h4> <div>{{text}}</div> <input type='text' ng-model='city' /> <button type='button' ng-click='send();'>Send Data</button> {{city}} </div> </div> <div ng-controller='MainCtrl2'> <div> <h4>Ctrl2</h4> <button ng-click="getSavedCity()">Get Saved City </button> <div>{{cityInAnotherController}}</div> </div> </div> </body> </html>
那對我親愛的專家們來說是有效的。
function selectedItemChange(item) {
document.cookie = item.value;
$('#dcity').show();
}
...
url ='/ api / Country /'+ document.cookie;
而且我幾乎整天都在嘗試服務,工廠和所有模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.