angularJS学习笔记

QQ截图20160929161813

<script>
    function c(str) {
        console.log(str)
    }

    var app = angular.module("Myapp", ['ngRoute'])
            .config(['$locationProvider',function($locationProvider){
                $locationProvider.html5Mode(false);
                $locationProvider.hashPrefix("!")
            }])
            .config(function ($routeProvider) {

                $routeProvider
                        .when('/', {
                            templateUrl: 'views/main.html',
                            controller: 'MainCtrl'
                        })
                        .when('/about', {
                            templateUrl: 'views/about.html',
                            controller: 'AboutCtrl',

                        })
                        .when('/action', {
                            templateUrl: 'views/action.html',
                            controller: 'ActionCtrl'
                        })
                        .when('/contact:q', {
                            templateUrl: 'views/contact.html',
                            controller: 'ContactCtrl'
                        }).when("/register", {
                            templateUrl: 'views/register.html',
                            controller: 'registerCtrl'
                        })
                        .otherwise({
                            redirectTo: '/'
                        })
            })
            .run(['$rootScope','$location',function ($rootScope,$location) {
                $rootScope.title = "网站的标题";
                $rootScope.keywords = "网站的关键词";
                $rootScope.description = "网站的描述";

                //路由开始
                $rootScope.$on('$routeChangeStart',function(evt, next, current){

                });

                //路由成功
                $rootScope.$on('$routeChangeSuccess', function(evt, next, previous) {

                });

                //路由错误
                $rootScope.$on('$routeChangeError', function(current, previous, rejection) {
                    c('$routeChangeError')
                    c(current)
                    c(previous)
                    c(rejection)
                });

            }])
            .factory('myFactory', function(){
                var service = {1:"a",2:"b",3:"c"};
                return service;
            })
            .directive('myDirective', function(){
                return {
                    template: '<button>Click me</button>'
                }
            })
            .directive('ensureUnique', function ($http) {
                return {
                    require: 'ngModel',
                    link: function (scope, ele, attrs, cfg) {
                        scope.$watch(attrs.ngModel, function () {
                            $http({
                                method: 'POST',
                                url: '/1.php',
                                params: {filed: attrs.name, value: attrs.ngModel, value2: ele[0].value}

                            }).success(function (data, status, headers, fg) {
                                c(data);

                            }).error(function (data, status, headers, fg) {
                                alert('网络繁忙!');
                            })
                        });
                    }
                };
            })

            .controller('MainCtrl', function ($scope, $routeParams) {
                $scope.context = "Main页面标题";
                $scope.add = function (num) {
                    ++num;
                    alert("num:" + num);
                };
                $scope.name = {name: "a001", pwd: "a123456"};

            })
            .controller('AboutCtrl', function ($scope, $routeParams, $filter) {
                $scope.context = "关于我们";
                $scope.other = "谢谢支持!";

//

                //$scope.name = $filter('lowercase');
                $scope.unClock = function () {
                    $scope.isDisabled = true;
                    // alert('ok');
                }
                $scope.myChange = function (d) {
                    c(d);
                }
                $scope.submitForm = function (d) {
                    c(d);
                }

                $scope.people = [
                    {name: "小A", city: "重庆"},
                    {name: "小b", city: "成都"},
                    {name: "小c", city: "武汉"},
                    {name: "小d", city: "广州"},
                    {name: "小e", city: "上海"}
                ];

                $scope.fields = [
                    {isRequired: true, name: "user_name", placeholder: "请输入用户名", model1: "", msg: "请输入用户名"},
                    {isRequired: true, name: "user_pwd", placeholder: "请输入用户密码", model1: "", msg: "请输入用户密码"},
                    {isRequired: true, name: "email", placeholder: "请输入用户邮箱", model1: "", msg: "请输入用户邮箱"},
                ]
                $scope.cx = "testcx"


            }).controller('ActionCtrl', function ($scope, $routeParams) {
                $scope.context = "Action测试页面";


            }).controller('ContactCtrl', function ($scope, $routeParams) {
                $scope.context = "联系人";


            }).controller("nowDae", function ($scope) {

                $scope.now = new Date();
                $scope.do = function () {

                    $.ajax({
                        url: '/1.php',
                        type: 'post',
                        dataType: 'json',
                        async: false,
                        data: {id: 10, user_name: 'a001', user_pwd: '123456'},
                        success: function (data) {
                            c("data>>>>>");
                            c(data);
                        }
                    })
                }

            }).controller("registerCtrl", function ($scope, $routeParams) {
                $scope.context = "用户注册";
                $scope.showAgreement = function () {
                    alert("用户协议...");
                };

                $scope.doreg = function () {

                    alert('sdaf');
                    return false;
                }


            })
            .filter('number2', function () {
                return function (input) {

                    return "过滤过的:" + input;


                };
            }).filter('email2', function () {
                return function (input) {
                    if (input) {
                        return "filter:" + input;
                    }

                };
            })



</script>

代码包下载:百度网盘

http://pan.baidu.com/s/1kUH1H0F

AngularJS多重视图和路由教程

多重视图和路由

能够从页面的一个视图跳转到另外一个视图,对单页面应用来讲是至关重要的。当应用变得越来越复杂时,我们需要一个合理的方式来管理用户在使用过程中看到的界面。也许我们已经通过在主HTML中添加行内的模板代码,实现了对视图的管理,但这些代码也会变得越来越复杂和难以管理,同时其他开发者也很难加入到开发工作中来。另外,由于应用的状态信息会包含在URL中,我们也无法将代码直接复制并发送给朋友。除了用 ng-include 指令在视图中引用多个模板外,更好的做法是将视图分解成布局和模板视图,并且根据用户当前访问的URL来展示对应的视图。我们会将这些模板分解到视图中,并在布局模板内进行组装。AngularJS允许我们在 $route服务的提供者 $routeProvider 中通过声明路由来实现这个功能。通过 $routeProvider ,可以发挥出浏览器历史导航的优势,并让用户基于浏览器当前的URL地址创建书签或分享页面。

安装

从1.2版本开始,AngularJS将 ngRoutes 从核心代码中剥离出来成为独立的模块。我们需要安装并引用它,才能够在AngularJS应用中正常地使用路由功能。

可以从code.angularjs.org下载它,然后保存到一个可以在HTML页面中进行引用的位置,例如js/vendor/angular-route.js。也可以用Bower来安装,这样会将它存放到Bower的目录中。

JS对cookies、localStorage、sessionStorage三种数据操作例子

JS对cookies、localStorage、sessionStorage三种数据操作例子;

<script type="application/x-javascript">
    
    function c(str) {
        console.log(str);
    }

    var doc = document;

    var button = document.getElementById("button");

    button.addEventListener("click",function(){
        test1();
        test2();
        test3();


    },false)

    function test1(){

        cookieUtils.set("name","a001");
        cookieUtils.set("pwd","123456");
        cookieUtils.set("age","23");

        c(cookieUtils.get("pwd"));
       // c(cookieUtils.del("pwd"));

        c(doc.cookie);
    }

    function test2(){
        sessionStorageUtils.set("name","a001");
        sessionStorageUtils.set("pwd","123456");
        sessionStorageUtils.set("age","23");

        c(sessionStorageUtils.get("name"))
        c(sessionStorageUtils.get("pwd"))
        c(sessionStorageUtils.get("age"))

        //c(sessionStorageUtils.del("age"))

        c(sessionStorageUtils.get("age"))
    }

    function test3(){
        localStorageUtils.set("name","a001");
        localStorageUtils.set("pwd","123456");
        localStorageUtils.set("age","23");

        c(localStorageUtils.get("name"))
        c(localStorageUtils.get("pwd"))
        c(localStorageUtils.get("age"))

        //c(localStorageUtils.del("age"))

        c(localStorageUtils.get("age"))
    }


    var cookieUtils = {
        set:function(name,value,expires,path,domain,secure){
            if(name.length <= 0){
                alert("至少需要指定一个名字");
                return false;
            }

            var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);

            if(expires instanceof Date){
                cookieText += "; expires=" + expires.toUTCString();
            }
            if(path){
                cookieText += "; path="+path;
            }
            if(domain){
                cookieText +="; domain="+domain;
            }
            if(secure){
                cookieText +="; "+secure;
            }

            document.cookie = cookieText;
            return true;

        },
        get:function(name){
            var cookieText = encodeURIComponent(name) + "=";
            var cookieValue = "";

            var start = document.cookie.indexOf(cookieText);

            if(start > -1){
                var end = document.cookie.indexOf(";",start);
                if(end == -1){
                    end = document.cookie.length;
                }

                cookieValue = encodeURIComponent(document.cookie.substring(start + cookieText.length,end));

            }
            return cookieValue;

        },
        del:function(name){
            this.set(name,"",new Date(0));
        }

    }

    var sessionStorageUtils = {
        set:function(name,value){
            if(name.length <= 0){
                alert("至少需要指定一个名字");
                return false;
            }

            sessionStorage.setItem(name,value);

            return true;

        },
        get:function(name){
            return sessionStorage.getItem(name);
        },
        del:function(name){
            sessionStorage.removeItem(name);
            return true;
        }
    }

    var localStorageUtils = {
        set:function(name,value){
            if(name.length <= 0){
                alert("至少需要指定一个名字");
                return false;
            }

            localStorage.setItem(name,value);

            return true;
        },
        get:function(name){
            return localStorage.getItem(name);
        },
        del:function(name){
            localStorage.removeItem(name);
            return true;
        }
    }


</script>

 

 

wow.js 使用说明

1.下载文件

animate.css 下载地址: http://daneden.github.io/animate.css/   https://github.com/matthieua/WOW/tree/master/css/libs
wow.js 下载地址:  https://github.com/matthieua/WOW

2.引入文件

<link rel="stylesheet" href="animate.css">
<script src="wow.js"></script>
<script>
   new WOW().init();//wow是大写哦
</script>

3.观察你需要的效果
http://daneden.github.io/animate.css/

4.在需要动画的标签上添加,wow 和 你的动画元素,如下代码:

<div class="row">
    <div class="wow rollIn bg-blue animated" >22</div>//rollIn 动画名称
    <div class="wow bounceInDown bg-red animated" data-wow-iteration="1" data-wow-duration="2.15s">22</div>
    <div class="wow slideInLeft bg-red animated" data-wow-iteration="1" data-wow-duration="2.15s">22</div>
//data-wow-iteration重复次数    data-wow-duration动画过程时间

 

实例下载:

http://pan.baidu.com/s/1qYyA7E0

Git 基本操作

一、安装环境
CentOS: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

Debian: apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
二、安装Git
CentOS: yum install git-core

Debian: apt-get install git-core

三、创建基础仓库
mkdir /git/test
cd /git/test

git init –bare –shared //初始化基础仓库

四、客户端操作
git clone root@192.168.1.199:/git/test //克隆仓库

然后复制文件到 test 目录

git add * //添加所有文件
git commit -m “初始化版本”
git push //推送到服务器上
五、其他
git add [*|file] //将该文件添加到缓存
git log [–oneline] //使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。
git diff [file name][–cached] //执行 git diff 来查看执行 git status 的结果的详细信息。
git clone [url] //使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。
git init //用 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。
git status //查看在你上次提交之后是否有修改。
git commit [-am] //将缓存区内容添加到仓库中。
git reset HEAD //用于取消已缓存的内容。
git rm [filename] //会将条目从缓存区中移除
git mv [filename] //命令做得所有事情就是 git rm –cached 命令的操作

16789
 
Copyright © 2008-2021 lanxinbase.com Rights Reserved. | 粤ICP备14086738号-3 |