• Part 15 AngularJS ng init directive


    The ng-init directive allows you to evaluate an expression in the current scope.  

    In the following example, the ng-init directive initializes employees variable which is then used in the ng-repeat directive to loop thru each employee. In a real world application you should use a controller instead of ng-init to initialize values on a scope. 

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="Scripts/angular.min.js"></script>
    </head>
    <body ng-app>
        <div ng-init="employees = [
                        { name: 'Ben', gender: 'Male', city: 'London' },
                        { name: 'Sara', gender: 'Female', city: 'Chennai' },
                        { name: 'Mark', gender: 'Male', city: 'Chicago' },
                        { name: 'Pam', gender: 'Female', city: 'London' },
                        { name: 'Todd', gender: 'Male', city: 'Chennai' }
                    ]">
            <table>
                <thead>
                    <tr>
                        <th>Name</th>
                        <th>Gender</th>
                        <th>City</th>
                    </tr>
                </thead>
                <tbody>
                    <tr ng-repeat="employee in employees">
                        <td> {{ employee.name }} </td>
                        <td> {{ employee.gender}} </td>
                        <td> {{ employee.city}} </td>
                    </tr>
                </tbody>
            </table>
        </div>
    </body>
    </html>

    ng-init should only be used for aliasing special properties of ng-repeat directive. In the following example, ng-init is used to store the index of the parent element in parentIndex variable.

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="Scripts/angular.min.js"></script>
        <script src="Scripts/Script.js"></script>
    </head>
    <body ng-app="myModule">
        <div ng-controller="myController">
            <ul>
                <li ng-repeat="country in countries" ng-init="parentIndex = $index">
                    {{country.name}}
                    <ul>
                        <li ng-repeat="city in country.cities">
                            {{city.name}} - Parent Index = {{ parentIndex }}, Index = {{ $index }}
                        </li>
                    </ul>
                </li>
            </ul>
        </div>
    </body>
    </html>

    Script.js  

    var app = angular
            .module("myModule", [])
            .controller("myController", function ($scope) {
                var countries = [
                    {
                        name: "India",
                        cities: [
                            { name: "Hyderabad" },
                            { name: "Chennai" }
                        ]
                    },
                    {
                        name: "USA",
                        cities: [
                            { name: "Los Angeles" },
                            { name: "Chicago" },
                        ]
                    }
                ];
     
                $scope.countries = countries;
            });
     
  • 相关阅读:
    电脑命令大全
    iBatis简单入门教程
    Tomcat从内存、并发、缓存方面优化方法
    TreeMap 源码分析
    红黑树详细分析,看了都说好
    短链接原理
    容器的六大理解误区
    超能陆战队中的微型机器人现已实现!
    怎么理解微服务架构
    使用Golang时遇到的一些坑
  • 原文地址:https://www.cnblogs.com/gester/p/5426135.html
Copyright © 2020-2023  润新知