2

console.log在控制器中輸出的對象{name:'12345235'}這很好,但試圖在HTML部分使用ng-option屬性給出了下面的錯誤,我試過從服務返回多個嵌套對象,但仍然在控制檯中得到下面的錯誤,任何提示/幫助讚賞,在這個階段難住,不知道我還能嘗試什麼?ngOptions數據返回時出錯

HTML:

<html ng-app="app"> 
... 
<body> 
    ... 
    <div ng-controller="SetsController"> 
     <section ng-options="set in sets"><p>{{set.name}}</p></section> 
    </div> 
    ... 
</body> 
</html> 

角碼:

angular.module('app', []); 

angular.module('app').controller('SetsController', ['$scope', 'setsService', function($scope, setsService){ 
    $scope.sets = setsService.display('123', 3); 
    console.log($scope.sets); 
}]); 

angular.module('app').service('setsService', function(){ 
    this.display = function(setId, limit) { 
     return {name:'12345235'} 
    } 
}); 

控制檯錯誤:

Error: [$compile:ctreq] http://errors.angularjs.org/1.4.7/$compile/ctreq?p0=select&p1=ngOptions 
I/<@http://devt.local.one/core/lib/angular.js:6:416 
[email protected]://devt.local.one/core/lib/angular.js:59:233 
[email protected]://devt.local.one/core/lib/angular.js:59:300 
[email protected]://devt.local.one/core/lib/angular.js:62:78 
[email protected]://devt.local.one/core/lib/angular.js:54:410 
[email protected]://devt.local.one/core/lib/angular.js:61:1 
[email protected]://devt.local.one/core/lib/angular.js:54:410 
[email protected]://devt.local.one/core/lib/angular.js:54:433 
[email protected]://devt.local.one/core/lib/angular.js:54:433 
[email protected]://devt.local.one/core/lib/angular.js:54:433 
[email protected]://devt.local.one/core/lib/angular.js:54:433 
W/<@http://devt.local.one/core/lib/angular.js:53:480 
zc/d/</<@http://devt.local.one/core/lib/angular.js:20:99 
lf/this.$get</[email protected]://devt.local.one/core/lib/angular.js:133:217 
lf/this.$get</[email protected]://devt.local.one/core/lib/angular.js:133:446 
zc/d/<@http://devt.local.one/core/lib/angular.js:20:57 
[email protected]://devt.local.one/core/lib/angular.js:39:191 
zc/[email protected]://devt.local.one/core/lib/angular.js:19:1 
[email protected]://devt.local.one/core/lib/angular.js:20:274 
[email protected]://devt.local.one/core/lib/angular.js:19:83 
@http://devt.local.one/core/lib/angular.js:293:238 
[email protected]://devt.local.one/core/lib/angular.js:174:399 
Hf/[email protected]://devt.local.one/core/lib/angular.js:35:212 

http://devt.local.one/core/lib/angular.js 
Line 107 
+2

ng選項應該與選擇標籤一起使用。請參閱[ng-options](https://docs.angularjs.org/api/ng/directive/ngOptions)文檔。在這種情況下,你需要使用ng-repeat – MaheshKumar

+0

@MaheSirius啊,是的,'ng-repeat',這就是當你看相同的代碼太長時間會發生什麼,謝謝,現在工作! – llanato

+0

歡迎:)。我會發布它作爲答案,並請接受它。 – MaheshKumar

回答

2

ngOptions指令要求select指令。它不能被自己使用。因此,您應該用適當的結構選擇標籤代替部分(不要在這種情況下忘記ngModel太),或使用ngRepeat

​​
2

NG選項應選擇標籤中使用。請參閱ng-options文檔。在這種情況下,你需要使用NG重複

例如,

<select ng-model="myColor" ng-options="color.name for color in colors"> 
    <option value="">-- choose color --</option> 
</select> 
你的情況

你需要使用NG-重複的,

<section ng-repeat="set in sets"><p>{{set.name}}</p></section> 
0

在我的情況,我得到這個錯誤因爲我沒有ng-model屬性<select>