AngularJS HTML DOM

简介:

AngularJS 为 HTML DOM 元素的属性提供了绑定应用数据的指令。今天就为大家介绍一下AngularJS中一些与HTML DOM操作有关的指令。

ng-options

在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出。示例代码如下:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/angular.min.js"></script>
        <script type="text/javascript">
            angular.module("myApp", [])
                .controller("myCtrl", function($scope) {
                    $scope.items = ["red", "blue", "green"];
                });
        </script>
    </head>

    <body ng-app="myApp" ng-controller="myCtrl">
        <select ng-model="selectColor" ng-options="item for item in items"></select>
    </body>

</html>

这样就会显示一个下拉选择列表,看过之前博客的朋友应该知道,在AngularJS中有一个ng-repeat指令用于重复创建元素,那么我们用ng-repeat来实现同样的效果,代码如下:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/angular.min.js"></script>
        <script type="text/javascript">
            angular.module("myApp", [])
                .controller("myCtrl", function($scope) {
                    $scope.items = ["red", "blue", "green"];
                });
        </script>
    </head>

    <body ng-app="myApp" ng-controller="myCtrl">
        <select ng-model="selectColor">
            <option ng-repeat="item in items">{{item}}</option>
        </select>
    </body>

</html>

这段代码也同样可以实现显示一个下拉选择框,那么在这两者当中,使用哪个更好呢?
ng-repeat 指令是通过数组来循环 HTML 代码来创建下拉列表,但 ng-options 指令更适合创建下拉列表,使用 ng-options 的数据可以是对象, 而ng-repeat 是一个字符串。,当我们用于创建下拉选择框的数据是一个对象的时候,ng-options的优势就特别明显了。下面我们通过代码来演示一下:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/angular.min.js"></script>
        <script type="text/javascript">angular.module("myApp", [])
    .controller("myCtrl", function($scope) {
        $scope.items = {
            red: {
                r: 255,
                g: 0,
                b: 0
            },
            green: {
                r: 0,
                g: 255,
                b: 0
            },
            blue: {
                r: 0,
                g: 0,
                b: 255
            }
       });
    </script>
    </head>

    <body ng-app="myApp" ng-controller="myCtrl">
        <select ng-model="selectColor" ng-options="x for (x, y) in items"></select>
        <div>{{selectColor}}</div>
    </body>

</html>

ng-disabled

ng-disabled 指令直接绑定应用程序数据到 HTML 的 disabled 属性。

示例代码:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/angular.min.js"></script>
        <script type="text/javascript">
            angular.module("myApp", [])
                .controller("myCtrl", function($scope) {});
        </script>
    </head>

    <body ng-app="myApp" ng-controller="myCtrl">
        <input type="checkbox" ng-model="checked" />
        <input ng-disabled="checked" type="button" value="按钮"/>
    </body>

</html>

ng-show和ng-hide

ng-show 指令隐藏或显示一个 HTML 元素。ng-hide 指令也是用于隐藏或显示 HTML 元素。与ng-show相反。

示例代码:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/angular.min.js"></script>
        <script type="text/javascript">
            angular.module("myApp", [])
                .controller("myCtrl", function($scope) {});
        </script>
    </head>

    <body ng-app="myApp" ng-controller="myCtrl">
        <input type="checkbox" ng-model="showed" />
        <input ng-show="showed" type="button" value="按钮1"/>
        <input type="checkbox" ng-model="hided" />
        <input ng-hide="hided" type="button" value="按钮2"/>
    </body>

</html>
目录
相关文章
|
2月前
|
JavaScript 前端开发 容器
用HTML DOM实现有条件地渲染网页元素(上)
用HTML DOM实现有条件地渲染网页元素(上)
|
2月前
|
存储 JavaScript 前端开发
用HTML DOM实现有条件地渲染网页元素(下)
用HTML DOM实现有条件地渲染网页元素(下)
|
24天前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
24天前
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。
|
2月前
|
JavaScript 前端开发
JavaScript HTML DOM
JavaScript HTML DOM
33 2
JavaScript HTML DOM
|
2月前
|
JavaScript 前端开发 索引
JavaScript HTML DOM 节点列表
JavaScript HTML DOM 节点列表
19 5
|
2月前
|
JavaScript 前端开发 索引
JavaScript HTML DOM 集合(Collection)
JavaScript HTML DOM 集合(Collection)
28 4
|
2月前
|
JavaScript 前端开发
JavaScript HTML DOM 事件
JavaScript HTML DOM 事件
22 5
|
2月前
|
JavaScript 前端开发
JavaScript HTML DOM 元素 (节点)
JavaScript HTML DOM 元素 (节点)
27 2
|
2月前
|
JavaScript 前端开发
JavaScript HTML DOM - 改变CSS
JavaScript HTML DOM - 改变CSS
28 4