zoukankan      html  css  js  c++  java
  • angularJS中的MVC思想?

    mvc 思想

    将应用程序的组成,划分为三个部分:model , controller 和 view ;

        - 控制器的作用是用来初始化模型用的;

        - 模型就是用于存储数据的;

        - 视图是展示数据的;

    例如:登录案例:

    模型:

        - 我们数据库中存储所有的用户信息

        - 接受控制器传过来的用户名和密码进行校验的业务逻辑,返回 true / false ;

    控制器:

        - 接受用户再页面填写的用户名和密码;

        - 将用户名和密码提交给模型;

    视图:

        - 给用户呈现一个表单;

        - 接受用户输入的信息,并将其提交给控制器;

    angularJs创建模块

    // 注册模块, 通过module函数
    // 第一个参数是这个模块的名字
    // 第二个参数是这个模块所依赖的模块
    // 如果不依赖任何模块也必须传递第二个参数,如果没有传递第二个参数,angular.module就不是创建一个模块
    // angular.module 返回 刚刚创建的模块对象
    <script type="text/javascript">
    // 创建一个名字叫 myApp的模块,第二个参数是该模块所依赖的模块
    var myApp = angular.module("myApp",[]);
    </script>
    <script type="text/javascript">
    // 创建一个名字叫 myApp的模块,第二个参数是该模块所依赖的模块
    angular.module("myApp",[])
        .controller("myAppController",['$scope',function($scope){
            $scope.user = {
                name:'小三',
            };
        }]);
    </script>

    如果需要通过某一个模块去管理某一个应用:

    <div ng-app="myApp" ng-controller="myAppController">
    <span>{{title}}</span>
    <span>{{user.name}}</span>
    <span>{{userOne.name}}</span>
    <input type="button" value="点我啊" ng-click="show()">
    </div>
    <script type="text/javascript">
    // 创建一个名字叫 myApp的模块,第二个参数是该模块所依赖的模块
    var myApp = angular.module("myApp",[])
    myApp.controller("myAppController",['$scope',function($scope){
        $scope.title = "欢迎光临!";
        $scope.user = {};
        $scope.user.name = "小三";
        $scope.user.password = "123";
        $scope.userOne = {
            name:'小四',
            password:'456'
        };
        $scope.show = function(){
            alert($scope.user.name);
            alert($scope.userOne.name);
        };
    }]);
    </script>
    angular.module 不但可以帮助我们创建一个模块,也可以帮助我们取得一个模块:
    这里传递一个参数是获取,传递两个参数是创建(就像上面的就是创建):
    <script type="text/javascript">
    angular.module("myApp")
    angular.module("myApp").controller("myAppController",['$scope',function($scope){}]);
    </script>

     模块中的 $scope 是固定的,每一个都有不同的含义:(传递多个示例)

    <script type="text/javascript">
    module.controller('myAppController',['$scope','$http',function($scope,$http){
        console.log($scope);
        console.log($http);
    }]);
    </script>

    angularJS 的控制器(Controller)

    主要三种职责:

        - 为应用中的模型设置初始状态;

        - 通过$scope对象把数据模型或函数行为暴露给视图

        - 监视模型变化,做出相应的动作

    <script type="text/javascript">
    // 监视购物车的内容变化 计算最新的结果
    $scope.$watch($scope.totalCart,calculateDiscount);
    </script>

    监视小案例:(注册登录的时候,长度太短出现提示信息)

    <div ng-app="myApp" ng-controller="myAppController">
        <input type="text" ng-model='user.name'>&nbsp;&nbsp;<span style='color:red;'>{{message}}</span>
    </div>
    <script type="text/javascript">
    var myApp = angular.module('myApp',[]);
    myApp.controller('myAppController',['$scope',function($scope){
        $scope.user = {};
        $scope.message = '';
        $scope.user.name = "";
        //固定参数 现在的值和前面的值
        $scope.$watch('user.name',function(now,old){
            //监听 user.name
            //console.log(now);
            //console.log(old);
            if(now){
                console.log(now.length);
                if(now.length<7){
                    $scope.message = "请输入合法的用户名";
                }else{
                    $scope.message = "验证通过";
                }
            }else{
                $scope.message = "请输入用户名";
            };
        });
    }]);
    </script>

     

  • 相关阅读:
    USB描述符(转)
    (转)Linux设备驱动之HID驱动 源码分析
    Linux USB 鼠标驱动程序详解(转)
    (转)linux如何获取鼠标相对位置信息
    从零写一个编译器(四):语法分析之构造有限状态自动机
    从零写一个编译器(三):语法分析之几个基础数据结构
    从零写一个编译器(二):语法分析之前置知识
    从零写一个编译器(一):输入系统和词法分析
    自底向上语法分析
    递归下降和LL(1)语法分析
  • 原文地址:https://www.cnblogs.com/e0yu/p/7217194.html
Copyright © 2011-2022 走看看