我的页面上有一个按钮的范围问题。页面上有一个ui-grid。单击“添加新”按钮时,它会隐藏网格并显示允许用户输入新记录的div。一旦用户单击“保存”按钮以保存他们输入的信息,屏幕将返回其原始状态,网格显示,另一个div隐藏。问题是我再也无法再点击“添加新”按钮,因为它已经失去了它的$ scope。
这是我的HTML:
<div ng-app="myModule" ng-controller="OperatorCtrl">
<div class="panel panel-primary">
<div class="panel-heading">Business Unit Administration</div>
<div class="panel-body">
<div ng-hide="noView">
@Html.Label("Edit a Business Unit belo0w to assign Users and Contractors")
<div>
<div ui-grid="gridOptions" class="grid" ng-style="{height: (gridOptions.data.length*30)+32+'px'}" ui-grid-auto-resize></div>
</div>
<div class="pull-right">
<button type="button" class="btn btn-primary" style="width:100px" ng-click="addNew()">Add New</button>
</div>
</div>
<div ng-show="noView">
<form name="AddBusinessUnitForm">
<table style="width:100%">
<thead>
<tr>
<th>Business Unit Name</th>
<th>Operator System ID</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" style="width:200px" ng-model="form.vchDescription" /></td>
<td><input type="text" style="width:300px" ng-model="form.vchOperatorSystemID" /></td>
<td ng-show="addNew"><button type="button" class="btn btn-info btn-sm" ng-click="saveNew()">Save</button></td>
<td>
<button type="button" class="btn btn-primary" style="width:100px" ng-click="return()">Close</button>
</tr>
</tbody>
</table>
</form>
“添加新”和“关闭”按钮仅切换“noView”变量以显示和隐藏每个部分。
这是我的Angular:
$scope.addNew = function () {
$scope.noView = true;
};
$scope.saveNew = function () {
$scope.businessUnitName = $scope.form.vchDescription;
operatorService.savenew($scope.form)
.success(function (data) {
$scope.businessUnitID = data;
getUsers($scope.businessUnitID);
$scope.viewTabs = true;
$scope.addNew = false;
});
};
$scope.return = function () {
$scope.noView = false;
};
我是Angular的新手,我不确定如何维护按钮的范围。
非常感谢任何帮助!
答案 0 :(得分:1)
在你的html中,你没有将任何内容传递给使用ng-click的函数。没有什么可以保存,因为没有什么可以保存。我希望这会有所帮助。