所以,这是我的 HTML。
<input type="text" id="ghusername" ng-model="username" placeholder="Github username...">
<span id="ghsubmitbtn" ng-click="getUsers()">Pull User Data</span>
这是我的 Controller A。
app.controller("homeController", ["$scope", "$http", function ($scope, $http) {
$scope.getUsers = function () {
$http.get("https://api.github.com/users/" + $scope.username)
.success(function (data) {
//some stuff
})
这是B(为了发帖)。如何在 HTML ngModel 上获取此用户名,以便我可以在另一个 Controller 中显示它?例如:
app.controller("reposController", ["$scope", "$http", function ($scope, $http) {
$scope.getRepos = function () {
$http.get("https://api.github.com/users/" + $scope.username + "/repos")
.success(function (data) {
// some stuff
})
};
我尝试过使用用户服务、工厂甚至 $rootScopes,但它们似乎不起作用,有什么帮助吗?顺便说一句,如果我不清楚,请告诉我,我会编辑帖子,谢谢。
<小时/>编辑:我最终使用了 $rootScope,我知道这不是最好的主意,但这是一件小事。我会保留你所有的答案以供引用,因为我确信它们都有效,但我太笨了,无法实现它们..谢谢。
最佳答案
您必须将 $rootScope 引用到您的 Controller 中:
app.controller("homeController", ["$scope", "$http","$rootScope", function ($scope, $http, $rootScope) ...
然后访问 rootscope 变量:
controller1: $rootScope.someValue = "某个值";
Controller2: $scope.controllerScopeValue = $rootScope.someValue
;
关于javascript - Angular.js |共享 ngModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29941713/