ng-repeat内でドロップダウンを動的に作成する必要があるシナリオがあります。また、ドロップダウンのデータソースも動的です。つまり、ドロップダウンをバインドする必要があるクエリに基づいています。 。ng-optionsを指定したangularJSコントローラメソッド
私はHTTPメソッドを呼び出すことに決めました。クエリに基づいてクエリを渡すことで、私のサービスはキー値のペアを持つ汎用データを返します。
コントローラ無限$ダイジェストループをinfdigマイHtmlの
<table style="width: 100%">
<tr>
<td colspan="2"><strong>Enter Parameters</strong></td>
</tr>
<tr ng-repeat="x in reportDataParameter.UserParameterList">
<td>{{x.UserParamDefinition.DisplayLabel}}</td>
<td>
<select ng-model="x.Model" ng-options="item.ValueField as item.TextField for item in executeQuery(x.UserParamDefinition.Query)" class="form-control">
<option value="">Please Select</option>
</select>
</td>
</tr>
</table>
:$ rootScope:私は、コントローラのメソッドを呼び出すとき、私はinfinteループWIH
エラーが終わるいます
$scope.reportDataParameter = {}; $scope.reportDataParameter = { "UserParameterList": [ { "Key": "StateID", "Value": "?ddl,State,State", "UserParamDefinition": { "DataType": "ddl", "DisplayLabel": "State", "Model": null, "Query": "SELECT Id AS ValueField, BankName AS TextField FROM BankDetail" } }, { "Key": "FacilityParentID", "Value": "?ddl,FacilityParent,FacilityParent", "UserParamDefinition": { "DataType": "ddl", "DisplayLabel": "FacilityParent", "Model": null, "Query": "SELECT Id AS ValueField, Name AS TextField FROM Organization" } } ], "ReportTitle": "Facility List By Parent", "Description": null, "ReportPage": null }; $scope.executeQuery = function (query) { var baseUrl = 'https://localhost:62'; return $http.get(baseUrl + '/api/reports/executequery/' + query).then(function (result) { return result.data; }); }
私はできるだけ多くの質問にあなたのコードを簡略化することをお勧めします:すべてが読者に、そしてあなたにとってもより明確になります:-)あなたの紹介テキスト(expecially )... – MarcoS