Javascript 角度选择更改时刷新
我正在处理一个有2个选择列表的页面,每个列表由来自REST服务的呼叫填充:Javascript 角度选择更改时刷新,javascript,angularjs,Javascript,Angularjs,我正在处理一个有2个选择列表的页面,每个列表由来自REST服务的呼叫填充: var mainApp = angular.module('taxonomyViewer', []); mainApp.controller('apiTaxonomyController', function ($scope, $http) { $scope.taxonomyList = []; // the taxonomy list for the first select list
var mainApp = angular.module('taxonomyViewer', []);
mainApp.controller('apiTaxonomyController', function ($scope, $http) {
$scope.taxonomyList = []; // the taxonomy list for the first select list
$scope.taxonomyStates = []; // the state list for the taxonomy selected in the first list
$http({
method: 'GET',
url: '/api/reports/taxonomies'
}).then(function (response) {
$scope.taxonomyList = angular.fromJson(response.data);
console.log($scope.taxonomyList);
});
$scope.update = function () {
$http({
method: 'GET',
// api/reports/taxonomies/{ent_id}/states
url: '/api/reports/taxonomies/' + $scope.selectedItem + '/states'
}).then(function (response) {
$scope.taxonomyStates = angular.fromJson(response.data);
console.log($scope.taxonomyStates);
});
console.log("selected item: " + $scope.selectedItem);
};
我的选择列表如下:
<div class="col-md-4">
<div ng-app="taxonomyViewer" ng-controller="apiTaxonomyController">
<select ng-model="selectedItem"
ng-options="items.ent_id as items.ent_desc for items in taxonomyList"
ng-change="update()">
<option value=""> Select Taxonomy </option>
</select>
</div>
<br />
<div ng-app="taxonomyViewer" ng-controller="apiTaxonomyController">
<select ng-model="selectedState"
ng-options="items.ens_guid as items.enk_name + ' - ' + items.sg_name for items in taxonomyStates"
ng-change="updateState()">
<option value=""> Select Taxonomy State </option>
</select>
<br />
</div>
<div id="taxonomyTree" class="fancytree-fade-expander">
</div>
</div>
选择分类法
选择分类状态
当您从第一个列表中选择一个项目时,将调用REST服务,然后将填充第二个列表。REST服务将从$scope.update函数内部调用,但选择列表未加载$scope.taxonystates项。您将两次连接应用程序和控制器-这将创建两个应用程序和两个控制器 当你的
update
方法获取数据时,它会将数据分配给app1上的taxonomyStates
,因为在那里调用update
。然而,应用程序2是一个试图显示它
ng-app="taxonomyViewer" ng-controller="apiTaxonomyController"
这些属性应该位于最高的DOM元素上,这对它们来说是有意义的。基于这个例子-我想说
ng控制器
应该在你的col-md-4
div
上,并且ng应用程序
应该几乎总是在主体
或正下方的一个元素上。控制台有错误消息吗?谢谢。我对angular还不熟悉,所以我还在学习一些模型。