zoukankan      html  css  js  c++  java
  • Angular——单页面实例

    基本介绍

    1、引入的route模块可以对路由的变化做出响应

    2、创建的控制器中依然需要$http向后台请求数据

    3、php中二维数据的遍历用的是foreach

    4、php中$arr=array(),$arr[] 可以被自动补充所缺失的索引

    5、在ng-repeat中,如果数据相同的话会报错(ngRepeat:dupes),解决办法是后面添加track by $index===》list in lists track by $index

    基本使用

    html

    <!DOCTYPE html>
    <html lang="en" ng-app="Music">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            body,ol,li{
                margin: 0;
                padding: 0;
            }
            .wrap{
                width: 400px;
                margin: 50px auto;
            }
            nav{
                display: flex;
                height: 40px;
                border: 1px solid #000;
            }
            nav a{
                flex: 1;
                height: 40px;
                text-decoration: none;
                color: #000;
                text-align: center;
                line-height: 40px;
                position: relative;
            }
            nav a:after{
                content: '';
                width: 0;
                height: 35px;
                border-left: 1px solid #000;
                position: absolute;
                top: 2.5px;
                right: 0;
            }
            nav a:last-child:after{
                visibility: hidden;
            }
            ol{
                border: 1px solid #000;
                border-top: none;
                min-height: 300px;
                padding-left: 40px;
            }
            ol li{
                line-height: 40px;
            }
        </style>
    </head>
    <body>
    <div class="wrap" ng-controller="IndexController">
        <nav>
            <a href="#/1">摇滚</a>
            <a href="#/2">民族</a>
            <a href="#/3">民谣</a>
            <a href="#/4">公路</a>
        </nav>
        <ol>
            <div ng-view=""></div>
        </ol>
    </div>
    <script src="../libs/angular.min.js"></script>
    <script src="../libs/angular-route.js"></script>
    <script>
        var Music=angular.module('Music',['ngRoute']);
        Music.config(['$routeProvider',function ($routeProvider) {
            $routeProvider.when('/:id',{
                templateUrl:'./list.html',
                controller:'IndexController'
            }).otherwise({
                redirectTo:'/1'
            });
        }]);
        Music.controller('IndexController',['$scope','$http','$routeParams',function ($scope,$http,$routeParams) {
            var type=$routeParams.id;
            $http({
                url:'./music.php',
                method:'get',
                params:{id:type}
            }).success(function (info) {
                $scope.lists=info;
            });
        }]);
    </script>
    </body>
    </html>

    模板页

    <li ng-repeat="list in lists track by $index">{{list.text}}</li>

    php

    <?php
        $pid=$_GET['id'];
        $list = array(
                array('id'=>1, 'pid'=>2, 'text'=>'我很丑可是我很温柔'),
                array('id'=>2, 'pid'=>2, 'text'=>'浦公英的约定'),
                array('id'=>3, 'pid'=>2, 'text'=>'你我的约定'),
                array('id'=>4, 'pid'=>3, 'text'=>'pretty boy'),
                array('id'=>5, 'pid'=>3, 'text'=>'See You Again'),
                array('id'=>6, 'pid'=>2, 'text'=>'甜甜的'),
                array('id'=>7, 'pid'=>1, 'text'=>'再见 我的爱人'),
                array('id'=>8, 'pid'=>2, 'text'=>'心中的日月'),
                array('id'=>8, 'pid'=>3, 'text'=>'Let It Go'),
                array('id'=>10, 'pid'=>1, 'text'=>'不要说再见'),
                array('id'=>11, 'pid'=>3, 'text'=>'Rise'),
                array('id'=>12, 'pid'=>2, 'text'=>'再见'),
                array('id'=>13, 'pid'=>1, 'text'=>'追梦人'),
                array('id'=>14, 'pid'=>2, 'text'=>'不能说的秘密'),
                array('id'=>15, 'pid'=>4, 'text'=>'고속도로 로맨스'),
                array('id'=>16, 'pid'=>1, 'text'=>'昨日重现'),
                array('id'=>17, 'pid'=>3, 'text'=>'Love Me Like You Do'),
                array('id'=>18, 'pid'=>2, 'text'=>'好久不见'),
                array('id'=>19, 'pid'=>1, 'text'=>'独角戏'),
                array('id'=>20, 'pid'=>2, 'text'=>'K歌之王'),
                array('id'=>21, 'pid'=>1, 'text'=>'往事随风'),
                array('id'=>22, 'pid'=>2, 'text'=>'光辉岁月'),
                array('id'=>23, 'pid'=>3, 'text'=>'Just Like Fire'),
                array('id'=>24, 'pid'=>4, 'text'=>'涙の物语'),
                array('id'=>25, 'pid'=>4, 'text'=>'江南Style'),
                array('id'=>26, 'pid'=>4, 'text'=>'ガラガラ'),
                array('id'=>27, 'pid'=>1, 'text'=>'海阔天空'),
                array('id'=>28, 'pid'=>4, 'text'=>'天空之城'),
                array('id'=>29, 'pid'=>4, 'text'=>'사랑이었다'),
                array('id'=>30, 'pid'=>3, 'text'=>' Good Time'),
                array('id'=>31, 'pid'=>1, 'text'=>'不再犹豫'),
                array('id'=>32, 'pid'=>4, 'text'=>'さよならの夏 ~コクリコ坂から~'),
                array('id'=>33, 'pid'=>3, 'text'=>' Heart And Soul'),
                array('id'=>34, 'pid'=>4, 'text'=>'넘버나인 '),
                array('id'=>35, 'pid'=>1, 'text'=>'往事只能回味'),
                array('id'=>36, 'pid'=>3, 'text'=>'Bang Bang'),
                array('id'=>37, 'pid'=>4, 'text'=>'君が好きだと叫びたい'),
                array('id'=>38, 'pid'=>3, 'text'=>'Same Old Love'),
                array('id'=>39, 'pid'=>4, 'text'=>'君をのせて'),
                array('id'=>40, 'pid'=>1, 'text'=>'恋恋风尘')
            );
        $result=array();
    
        foreach($list as $key=>$value){
            if($value['pid']==$pid){
                $result[]=$value;
            }
        }
    
        echo json_encode($result);
    
    
    //    $arr=array();
    //    $arr[]='a';
    //    $arr[]='b';
    ?>

     

  • 相关阅读:
    解决IE8下VS2005,VS2008一些向导提示脚本错误问题
    12-7
    12.4
    写在十一月的尾巴
    11.28
    htm&css 颜色的浮动
    11.27
    11.26
    html基础——表格练习
    html基础——div/span
  • 原文地址:https://www.cnblogs.com/wuqiuxue/p/8482442.html
Copyright © 2011-2022 走看看