簡體   English   中英

控制器中的angularJS函數不響應

[英]angularJS function in controller does not respond

AngularJs ng-click沒有響應

我正在嘗試使用GitHub Search-API。 當有人單擊按鈕時,我的控制器應從github調用搜索,這是我的代碼

HTML:

<head>
  <script src="js/AngularJS/angular.min.js"></script>
  <script src="js/Controller/RepoController.js"></script>
</head>
<body ng-controller="RepoController">
 <input type="text" ng-model="param" /><button ng-click="search()">suchen</button>
  <ul>
    <li ng-repeat="repo in repos">
        {{repo.name}}
    </li>
  </ul>

</body>

這是我的控制器:

var App = angular.module('RepoSearch', []);

function RepoController($scope, $http) {
    $scope.repos = [];

    $scope.search = function() {
        $http.get('https://api.github.com/search/repositories?q='+$scope.param).success(function(data) {
            $scope.repos = data['items'];
        }
    }

}

但是當我用警報替換$http.get時,我的repos-array仍然是空的,它工作正常。

您忘記了關閉($scope.repos = data['items'];} ,並定義了ng-app ,在這種情況下,它可以位於<head><head ng-app="RepoSearch"> http ://docs.angularjs.org/api/ng.directive:ngApp

原因可能是跨域調用。 使用JSONP調用github。

$http.jsonp('https://api.github.com/search/repositories?q='+$scope.param+'&callback=JSON_CALLBACK'+).success(function(data) {
            $scope.repos = data['items'];
}

回調方法可能有所不同,因此請查看這些SO帖子

無法定義回調時使用angularjs JSONP

在AngularJS中為$ http服務使用JSONP方法

在HTML中

<head ng-app="RepoSearch">
      <script src="js/AngularJS/angular.min.js"></script>
      <script src="js/Controller/RepoController.js"></script>
    </head>
    <body ng-controller="RepoController">
     <input type="text" ng-model="param" /><button ng-click="search()">suchen</button>
      <ul>
        <li ng-repeat="repo in repos">
            {{repo.name}}
        </li>
      </ul>

    </body>

在控制器中

var App = angular.module('RepoSearch', []);


//bind controller with your app

App.controller('RepoController',RepoController);

function RepoController($scope, $http) {
    $scope.repos = [];

    $scope.search = function() {
        $http.get('https://api.github.com/search/repositories?q='+$scope.param).success(function(data) {
            $scope.repos = data['items'];
        }
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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