对Angular JS不是很熟悉,但这就是我拥有的和我想要的东西:
<div ng-app="MyApp" ng-controller="appController">
<div class="input-group">
<input class="form-control enableEnter" type="text" ng-model="action"/>
<div class="input-group-btn">
<button class="btn btn-primary" ng-click="search()">Search</button>
</div>
</div>
<ul class="dropdown-menu" id="list" ng-show = {{display}} >
<li> hello </li>
<li class="dropdown" ng-repeat="x in actions">
{{x.name}}
</li>
</ul>
</div>
我的js文件:
MyApp.controller('appController', ['$scope', function ($scope) {
$scope.actions = [];
$scope.display=false;
$scope.search = function () {
$.get("http://localhost:8080/get/something/" + $scope.action)
.success(function (response) {
console.log(response);
$scope.actions = response['RESPONSE'];
$scope.display=true;
}).error(function (jqXHR, textStatus, errorThrown) {
console.error("Error retrieving something list", textStatus, errorThrown);
});
}
}]);
$scope.actions
在控制器中初始化为空,但点击&#34;提交&#34;按钮,我们获得了actions
中填充的操作列表。我想在表单下方显示此列表。为此,我在单击提交时更改ng-show
的值。这会自动更新<UL>
元素吗?因为即使点击后我似乎也看不到任何东西。
答案 0 :(得分:1)
您无需在{{ }}
内插入ng-show
:
<ul class="dropdown-menu" id="list" ng-show="display" >
<li> hello </li>
<li class="dropdown" ng-repeat="x in actions">
{{x.name}}
</li>
</ul>
您可能还想查看ng-if。
答案 1 :(得分:0)
问题出在以下声明中
<ul class="dropdown-menu" id="list" ng-show = {{display}} >
`change ng-show= {{display}} to ng-show='display'`
检查这个工作示例 - 在这个例子中,我点击后创建了提交按钮,我有更改显示值并存储了一些虚拟数据。