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

    MVC是一种使用 MVC(Model View Controller 模型-视图-控制器)设计模式,该模型的理念也被许多框架所吸纳。在学习angular的过程中,我在网上查找关于angular MVC介绍的文章很少,有些文章也没有很直白地为初学者指明angular MVC到底是啥样貌,因此,今天我们就来谈谈MVC模型在angular的形态。

    view指的是视图,在web前端工程中,view往往指的是HTML代码。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="css/bootstrap.css" type="text/css">
    </head>
    <body ng-app="app">

        <div class="col-md-4 col-md-offset-4" ng-controller="InputController">
            模型数据: <input type="text" class="text-primary" ng-model="book.title">
        </div>

        <script src="js/angular.js"></script>
        <script src="js/demo1.js"></script>
    </body>
    </html>
    model指的是模型数据,在java后端开发中,我们常常使用java为业务数据单独建模,然而,在前端中,我们也可以为数据建立模型。比如,下面的代码片段。
    var book = {
            title: "angular"
        }
    我们为书籍建立一个数据模型对象,为了简单,我只为book声明了一个属性。
     
    controller指的是控制器,它的作用是控制model与view之间的交互。
    angular.module("app", ["InputModule"]);

    angular.module("InputModule", [])
    .controller("InputController", ["$scope", function ($scope) {
        var book = {
            title: "angular"
        }
        $scope.book = book;
    }]);
    在此例中,我将模型数据book定义在angular的controller控制器中。要想将模型中的数据传递给视图,angular规定依附在$scope上的数据才能传递给视图。
     
    在全局使用ng-app指令,我就不多介绍了。
    1、通过在div中添加属性ng-controller="InputController",并设置属性值,通过angular解析关联到相关的控制器。
         也只有该div元素及其子元素,才能有权限使用InputController中的$scope对象上的模型数据。
    2、ng-model="book.title",通过angular解析,关联到其所处控制器中的$scope对象。
         根据指令的不同,关联到$scope对象上的方式也不同。
         ng-model指令将$scope对象与view对象的值进行双向绑定,犹如java中将对象的引用传给了view对象。
         ng-bind指令则是将$scope对象与view对象进行单向绑定,犹如java中将对象的副本值传给view对象。
  • 相关阅读:
    3.不同类型变量存取
    2.Scanner的应用
    helloworld
    针对搜狗网址导航评论
    第二阶段第三次站立会议
    第二阶段第二次站立会议
    软件工程概论学习进度条05
    人月神话阅读笔记02
    第二阶段第一次站立会议
    第八次站立会议
  • 原文地址:https://www.cnblogs.com/ke-nan/p/7091466.html
Copyright © 2011-2022 走看看