簡體   English   中英

使用變量時未定義AngularJS

[英]AngularJS undefined when using variable

這是我一直在使用AngularJS進行的第一個測試應用程序,我似乎在一些簡單的事情上遇到了一些錯誤。

我有我的AngularJS服務,該服務將JSON返回到我的控制器( 已指定“ crucify”,但這是用戶在texbox中輸入的內容 ):

{"crucify":{"id":37635889,"name":"Crucify","profileIconId":984,"summonerLevel":30,"revisionDate":1450980592000}}

現在,在我的控制器中,我希望能夠訪問JSON值“ id ”和“ name ”等。因此,我這樣寫:

xile.controller('searchController', ['personSearch', '$scope', function (personSearch, $scope) {

$scope.search = function () {

    var summoner = $scope.summoner;

    personSearch.findPlayer(summoner).then(function (data) {
        $scope.answer = data;
    });
}

}]);

因此,數據等於上面發布的JSON。 如何在HTML中從JSON綁定“ id ”和“ name ”? 我已經在下面發布了我的HTML,但這似乎不起作用?

<div>Answer: {{answer.id}}</div>
<div>Answer: {{answer.name}}</div>

編輯:

用戶將在文本框中輸入用戶名:

<input type="text" id="txt_searchUser" ng-model="summoner" />

因此,Crucify是一個示例,它等於在此框中輸入的任何內容。

 var key=Object.keys(data) //return ["crucify"], object key $scope.summoner =data[key[0]]; //return object value 

 xile.controller('searchController', ['personSearch', '$scope', function (personSearch, $scope) { $scope.search = function () { var summoner = $scope.summoner; personSearch.findPlayer(summoner).then(function (data) { //first method $scope.answer = data.crucify; //second method $scope.answer = data }); } }]); 
 //first method <div>Answer: {{answer.id}}</div> <div>Answer: {{answer.name}}</div> //second method <div>Answer: {{answer.crucify.id}}</div> <div>Answer: {{answer.crucify.name}}</div> 

您是否嘗試過將ng-if添加到div中?

<div data-ng-if="answer.id">Answer: {{answer.id}}</div>
<div data-ng-if="answer.name">Answer: {{answer.name}}</div>

暫無
暫無

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

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