[英]How to pass the value of ng-model in two different controllers
我有一個ng-model
,我希望從兩個不同的控制器訪問其值。 我知道在兩個不同的控制器之間共享數據的方法是使用service
。 但是我不能將ng-model
的值用於服務,而只能用於控制器。
您可以使用rootscope訪問該ng-model變量。但這不是一個好習慣。
<input ng-model="mk" type="text">
在控制器中:
$rootScope.mk=$scope.mk;
並在其他控制器中以$rootScope.mk
身份訪問
注意:您必須在控制器中注入$ rootScope。
為什么不能使用服務? 服務正是您跨應用程序不同部分共享數據的方式。 您可以通過在每個控制器上公開您的服務並將ng-model
綁定到該服務來實現此目的。
JS
angular.module('app', [])
.factory('User', [function () {
var service = {
username: null
};
return service;
}])
.controller('MainCtrl', ['$scope', 'User', function ($scope, User) {
$scope.User = User;
}])
.controller('SecondCtrl', ['$scope', 'User', function ($scope, User) {
$scope.User = User;
}]);
的HTML
<div ng-controller="MainCtrl">
<input type="text" ng-model="User.username">
</div>
<div ng-controller="SecondCtrl">
<input type="text" ng-model="User.username">
</div>
柱塞: http ://plnkr.co/edit/VSEHD970O0xWbu6OCPqB?p=preview
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.