簡體   English   中英

AngularJS將字符串從一個控制器傳遞到另一個

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM