AngularJs按钮失去了范围

时间:2015-12-03 17:56:56

标签: javascript angularjs

我的页面上有一个按钮的范围问题。页面上有一个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的新手,我不确定如何维护按钮的范围。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

在你的html中,你没有将任何内容传递给使用ng-click的函数。没有什么可以保存,因为没有什么可以保存。我希望这会有所帮助。