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>

     

  • 相关阅读:
    Innodb之线程独享内存
    Innodb之全局共享内存
    mysql三层体系
    grep/字符/次数匹配/锚定符/小大括号/wc/tr/cut/sort/uniq
    Mysql多字段模糊查询
    小程序中使用less(最优方式)
    js控制文本框只能输入中文、英文、数字与指定特殊符号
    连接 MySQL 数据库出现问题:The server time zone value ‘�й���׼ʱ��‘ is unrecogni....
    Mysql聚簇索引和非聚簇索引
    npm run dev 和 npm run serve
  • 原文地址:https://www.cnblogs.com/e0yu/p/7217194.html
Copyright © 2011-2022 走看看