javascript - Angular.js |共享 ngModel

标签 javascript html angularjs share

所以,这是我的 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/

相关文章:

javascript - html 中元素的最快搜索

html - 即时切换 CSS

javascript - ajax调用后jQuery动态调整div的大小

javascript - JQuery:如何使用淡入淡出时间后更改图像?

jquery - Android 上的输入类型日期验证

angularjs - AngularJS 嵌套数组中的 ng-repeat

javascript - 带有 angular-busy 和 $stateChangeStart 的 AngularJS 加载指示器

javascript - 当对象数组的属性值改变时触发函数

javascript - 无法将单击事件添加到 jquery 中动态附加的列表项

javascript - 卸载时关闭浏览器窗口