2

我是 angularJs 的新手。

这是我的位级别视图

<input type="text" ng-model="todoName" size="30"
            placeholder="Add Your Name">
        <input type="text" ng-model="todoAge" size="30"
            placeholder="Add Your Age">
        <input type="hidden" ng-model="todoId" />
        <form style="display:'?????????'" ng-submit="addTodo()">
            <input class="btn-primary" type="submit" value="add">
        </form>
         <form style="display:'?????????'" ng-submit="addTodo()">
            <input class="btn-primary" type="submit" value="update">
        </form>

这是我的 angularjs 位级编码

$scope.DisplayUpdate = "none";

我有一个管理学生详细信息的屏幕,我想在第一次隐藏更新按钮时显示添加按钮,当更新时间显示更新按钮时,此时添加按钮需要隐藏。

请参阅此行以使用 angular js 在脚本端隐藏和显示详细信息: $scope.DisplayUpdate = "none";

如何在我的按钮样式中设置此值?

 <form style="display:'?????????'" ng-submit="addTodo()">
                <input class="btn-primary" style="display:'?????????'" type="submit" value="add">
            </form>
4

3 回答 3

4

你可以用ng-show它来隐藏它

<form ng-show="DisplayUpdate === 'none'" ng-submit="addTodo()">
    <input class="btn-primary" type="submit" value="add">
</form>

如果要从 DOM 树中删除它,请使用 ng-if

<form ng-if="DisplayUpdate === 'none'" ng-submit="addTodo()">
    <input class="btn-primary" type="submit" value="add">
</form>
于 2013-10-04T07:44:26.813 回答
1

不要直接设置样式,使用 ng-show 指令让 Angular 为你处理。

API 文档

于 2013-10-04T07:27:14.193 回答
0

终于我明白了 。

下面是我的代码:

JS文件:

function TodoCtrl($scope) {

    var value = BindStudentList();
    function BindStudentList() {
        $.ajax({
            url: '/Home/Contact1',
            type: 'GET',
            async: false,
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (data) {
                value = data.data;
            }
        });
        $scope.DisplaySave = true;
        $scope.DisplayUpdate = false;
        return value;
    }

    $scope.addTodo = function () {      
        $.ajax({
            url: '/Home/Index1',
            type: 'GET',
            data: { todoName: $scope.todoName, todoAge: $scope.todoAge },
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (data) {
                value = data.data;
            }
        });
    };

    $scope.Sample = value;
    $scope.remaining = function () {
        var count = 0;
        angular.forEach($scope.Sample, function (todo) {
            count += todo.done ? 0 : 1;
        });
        return count;
    };

    $scope.editTodo = function (Student) {
        $.ajax({
            url: '/Home/Edit1',
            type: 'GET',
            data: { Id: Student.todo.StudentId },
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (data) {
                $scope.todoName = data.data.StudentName;
                $scope.todoAge = data.data.StudentAge;
                $scope.todoId = data.data.StudentId;
                $scope.DisplayUpdate = true;
                $scope.DisplaySave = false;
            }
        });
    };
}

这是我的视图代码

<!doctype html>
<html ng-app>

<body>
    <script src="~/Scripts/angular.js"></script>

    <h2>Student Details</h2>
    <div ng-controller="TodoCtrl">
        <span>{{remaining()}} of {{Sample.length}} remaining</span>
        [ <a href="" ng-click="archive()">archive</a> ]
        <input type="text" ng-model="todoName" size="30"
            placeholder="Add Your Name">
        <input type="text" ng-model="todoAge" size="30"
            placeholder="Add Your Age">
        <input type="hidden" ng-model="todoId" />
        <form ng-show="DisplaySave" ng-submit="addTodo()">
            <input class="btn-primary" type="submit" value="Save">
        </form>
        <form ng-show="DisplayUpdate" ng-submit="addTodo()">
            <input class="btn-primary" type="submit" value="Update">
        </form>
        <br />
        <br />
        <table>
            <tr>
                <td><b>Student Name</b></td>
                <td><b>Student Age</b></td>
            </tr>
            <tr ng-repeat="todo in Sample">
                <td><span>{{todo.StudentName}}</span></td>
                <td><span>{{todo.StudentAge}}</span></td>
                <td>
                    <button value="{{todo.StudentId}}" ng-click="editTodo(this)">Edit</button>
                </td>
            </tr>
        </table>
    </div>
    <script src="~/Scripts/Todo.js"></script>
</body>
</html>

我在我的按钮中添加了ng-show="DisplaySave"and ng-show="DisplayUpdate",我将在编辑和加载时间时使用trueangularjsfalsejavascript中传递值。

现在它正在工作。我知道我的代码会对其他人有所帮助。干杯

于 2013-10-04T08:41:18.227 回答