zoukankan      html  css  js  c++  java
  • AngularJS 包含

    客户端包含

    通过 JavaScript 有很多种方式可以在 HTML 中包含 HTML 文件。

    通常我们使用 http 请求 (AJAX) 从服务端获取数据,返回的数据我们可以通过 使用 innerHTML 写入到 HTML 元素中。

    AngularJS 包含

    使用 AngularJS, 你可以使用 ng-include 指令来包含 HTML 内容:

     <body>
    <div class="container">
      <div ng-include="'myUsers_List.htm'"></div>
      <div ng-include="'myUsers_Form.htm'"></div>
    </div>
    </body>

    步骤如下:

    步骤 1: 创建 HTML 列表

    myUsers_List.html

    <h3>用户</h3>
    
    <table class="table table-striped">
        <thead>
            <tr>
                <th>编辑</th>
                <th></th>
                <th></th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="user in users">
                <td>
                    <button class="btn" ng-click="editUser(user.id)">
            <span class="glyphicon glyphicon-pencil"></span>&nbsp;&nbsp;Edit
          </button>
                </td>
                <td>{{ user.fName }}</td>
                <td>{{ user.lName }}</td>
            </tr>
        </tbody>
    </table>

    步骤 2: 创建 HTML 表单

    myUsers_Form.html

    <button class="btn btn-success" ng-click="editUser('new')">
    <span class="glyphicon glyphicon-user"></span>创建新用户
    </button>
    <hr>
    
    <h3 ng-show="edit">创建新用户:</h3>
    <h3 ng-hide="edit">编辑用户:</h3>
    
    <form class="form-horizontal">
        <div class="form-group">
            <label class="col-sm-2 control-label">名:</label>
            <div class="col-sm-10">
                <input type="text" ng-model="fName" ng-disabled="!edit" placeholder="名">
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">姓:</label>
            <div class="col-sm-10">
                <input type="text" ng-model="lName" ng-disabled="!edit" placeholder="姓">
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">密码:</label>
            <div class="col-sm-10">
                <input type="password" ng-model="passw1" placeholder="密码">
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">重复密码:</label>
            <div class="col-sm-10">
                <input type="password" ng-model="passw2" placeholder="重复密码">
            </div>
        </div>
    </form>
    
    <hr>
    <button class="btn btn-success" ng-disabled="error || incomplete">
    <span class="glyphicon glyphicon-save"></span>保存
    </button>

    步骤 3: 创建控制器

    myUsers.js

    angular.module('myApp', []).controller('userCtrl', function($scope) {
        $scope.fName = '';
        $scope.lName = '';
        $scope.passw1 = '';
        $scope.passw2 = '';
        $scope.users = [{
            id: 1,
            fName: 'Hege',
            lName: "Pege"
        }, {
            id: 2,
            fName: 'Kim',
            lName: "Pim"
        }, {
            id: 3,
            fName: 'Sal',
            lName: "Smith"
        }, {
            id: 4,
            fName: 'Jack',
            lName: "Jones"
        }, {
            id: 5,
            fName: 'John',
            lName: "Doe"
        }, {
            id: 6,
            fName: 'Peter',
            lName: "Pan"
        }];
        $scope.edit = true;
        $scope.error = false;
        $scope.incomplete = false;
        $scope.editUser = function(id) {
            if (id == 'new') {
                $scope.edit = true;
                $scope.incomplete = true;
                $scope.fName = '';
                $scope.lName = '';
            } else {
                $scope.edit = false;
                $scope.fName = $scope.users[id - 1].fName;
                $scope.lName = $scope.users[id - 1].lName;
            }
        };
    
        $scope.$watch('passw1', function() {
            $scope.test();
        });
        $scope.$watch('passw2', function() {
            $scope.test();
        });
        $scope.$watch('fName', function() {
            $scope.test();
        });
        $scope.$watch('lName', function() {
            $scope.test();
        });
    
        $scope.test = function() {
            if ($scope.passw1 !== $scope.passw2) {
                $scope.error = true;
            } else {
                $scope.error = false;
            }
            $scope.incomplete = false;
            if ($scope.edit && (!$scope.fName.length ||
                    !$scope.lName.length ||
                    !$scope.passw1.length || !$scope.passw2.length)) {
                $scope.incomplete = true;
            }
        };
    })

    步骤 4: 创建主页

    myUsers.html

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css">
            <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
        </head>
        <body ng-app="myApp" ng-controller="userCtrl">
            <div class="container">
                <div ng-include="'myUsers_List.htm'"></div>
                <div ng-include="'myUsers_Form.htm'"></div>
            </div>
            <script src="myUsers.js"></script>
        </body>
    </html>
  • 相关阅读:
    HDU 3537
    POJ 1175
    POJ 1021 人品题
    POJ 2068
    POJ 2608
    POJ 2960
    poj 1635
    ustc 1117
    ural 1468
    数字游戏
  • 原文地址:https://www.cnblogs.com/chrisghb8812/p/5674897.html
Copyright © 2011-2022 走看看