`
hjingfen
  • 浏览: 16585 次
社区版块
存档分类
最新评论

MVC在AugularJS下的具体实现

 
阅读更多
MVC是一种使用MVC(Model View Controller 模型-视图-控制器)设计创建Web应用程序的模式。
Model(模型)是应用程序中处理数据逻辑功能的部分,用来实现程序的具体逻辑功能,通常包括数据库中数据的存取。
View(视图)是应用程序中处理数据显示的部分,也就是用户看见的并且可以与之进行交互的界面。
Controller(控制器)是应用程序中处理用户交互的部分,是模型和视图之间交互的纽带,确保了视图和模型的同步。通常控制器接受用户的输入然后调用模型和视图去完成用户的需求,也就是说控制器本身不输出任何东西也不做任何逻辑功能处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
[img]

[/img]
例如,用AngularJS创建并存储一个新的(不与之前创建的活动名重复)的活动然后显示出所有创建的活动名称。
创建活动的view:

%input.input-full(type="text" ng-model="activity_name" style="height:38px" ng-change="listen_text()" ) //listen_test()与下面的button_disabled是用来实现输入框为空时,创建按钮不可点,功能函数在此不做介绍。
#test(style="color:red" ng-show='tip')活动名称重复!  //如果活动名重复,红色字体提醒,并且不创建。
%button.btn.btn-2(style="width:100%" ng-disabled="button_disabled"  ng-tap="click_create()")创建  //点击创建按钮后,就会执行创建活动的controller中的$scope.click_create().

创建活动的controller:
$scope.click_create = function(){
        if(Activity.check($scope.activity_name)){ 
            $scope.tip = true;
            return;
        }
        Activity.save($scope.activity_name); 
        $navigate.go('/sign_up'); 
    } //可以看出controller中没有直接自己完成创建、保存功能,而是调用model中的方法来实现这些业务功能的,并且controller还会根据model返回的数据传给相应的view来做显示。

创建活动的model:
function Activity(activity_name){
    this.activity_name = activity_name;
}

Activity.check = function(activity_name){
    var activities = JSON.parse(localStorage.getItem('activities')) || [];
    var current_user = localStorage.current_user;
    return _.find(activities, function(activity){
        return activity.activity_name == activity_name;
    }) ? true : false;
}  //检查这个活动是否是新活动,并返回布尔值给controller。

Activity.save = function(activity_name){
    var activities = JSON.parse(localStorage.getItem('activities')) || [];
    var activity = new Activity(activity_name);
    activity['current_user'] = localStorage.current_user;
    localStorage.displayed_activity = activity_name;
    activities.push(activity);
    localStorage.setItem('activities',JSON.stringify(activities));
} // 把活动存到数据库中

显示已创建活动的view:
%li.text-center(ng-repeat="activity_name in activity_names" )
  %a.list-activity-name
    {{ activity_name }} 

最后,总结一下AngularJS中实现web开发的MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
  • 大小: 18.6 KB
分享到:
评论

相关推荐

    JavaEE mvc架构模式的具体实现代码

    JavaEE MVC 字面的意思是模型(M),视图(V),控制器(C)这三块。MVC是一种面向对象的架构模式,它的基本思想是把程序界面和业务逻辑分开,这样便于软件的后期维护,同时也方便了开发时期的分工和管理。 MVC这种开发...

    基于springboot+mvc+freemarker+aop实现校友信息管理系统源码.zip

    1、基于springboot+mvc+freemarker+aop实现校友信息管理系统源码.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考...

    asp.net mvc+Bootstrap Fileinput框架实现的文件上传

    以上是关于"asp.net mvc+Bootstrap Fileinput框架实现的文件上传"的相关知识点,这个示例提供了在ASP.NET MVC环境中集成Bootstrap Fileinput进行文件上传的完整流程,对于开发者来说具有很好的参考价值。通过学习和...

    基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)

    基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)基于Cglib简单实现Spring体系(Ioc+Aop+Mvc)...

    MyEclipse+MVC实现登录验证(工程源码)

    本资源“MyEclipse+MVC实现登录验证(工程源码)”提供了一个具体的示例,帮助开发者理解如何在MyEclipse集成开发环境中使用MVC模式来构建一个登录验证系统。 首先,我们来深入了解一下MVC模式。MVC将应用分为三个...

    MVC的简单实现

    在提供的"MVCDemo"项目中,我们可以看到一个具体的MVC模式实现案例。通过分析源代码,我们可以更深入地了解MVC模式的每个组件是如何协同工作的。这种实现方式为后续学习和使用三大框架(Spring MVC、Struts、JSF)...

    基于springboot+mvc+freemarker+aop实现校友信息管理系统.zip

    基于springboot+mvc+freemarker+aop实现校友信息管理系统.zip基于springboot+mvc+freemarker+aop实现校友信息管理系统.zip基于springboot+mvc+freemarker+aop实现校友信息管理系统.zip基于springboot+mvc+freemarker...

    CS 下MVC模式实现

    本文将深入探讨在CS环境下MVC模式的实现,并结合源码分析其工作原理。 **一、MVC模式概述** 1. **模型(Model)**:模型是应用程序的核心部分,负责处理业务逻辑和数据管理。它与数据库或其他数据源交互,获取或...

    mvc框架性比较

    **Java MVC 框架性能比较** ...而Struts 2的性能短板主要在于其复杂的实现,而Spring MVC则在性能和开发效率上找到了较好的平衡。在选择框架时,开发者应根据项目的性能需求、团队的技术栈以及可获得的资源来做出决策。

    C++实现简单的MVC框架

    在C++中,由于面向对象的特性,MVC模式的实现往往更加灵活,可以通过继承、多态等机制来适应不同的需求。 总的来说,C++实现的MVCDemo项目为学习和理解MVC设计模式提供了一个实践平台。通过阅读和分析代码,开发者...

    MVC模式与实现

    MVC模式详解

    基于 MVC 模式的博客(BLOG)系统的设计与实现

    这些组件协同工作,实现了MVC模式下的高效开发。 #### 四、结论 基于MVC模式设计实现的博客系统具备高效、稳定和易于维护的特点。通过采用MVC设计模式和Struts框架,该系统能够有效地分离业务逻辑、数据管理和用户...

    ASP.NET MVC分页和排序功能实现

    这里,我打算使用EF Code-First方式分页控件就是用PagedList.MVC,来做分页,对于排序,实现的思路是,加载数据出来之后,默认是升序排序,然后我们点击一下相应的列标题,就按照该字段降序排序,查数据。思路明确了...

    asp.net mvc4 实现用户登录

    asp.net mvc4 实现用户的登录验证

    MVC架构(模式)

    在 J2EE 架构中,MVC 模式的实现通常采用 Service to Worker 模式,controller 部分可以用 Servlet 来实现,Model 部分可以用服务端的 JavaBean 或者 EJB 实现。 三、MVC 模式的扩展 MVC 模式可以与其他模式结合...

    ASP.NET MVC Linq to SQL 实现数据库增删改(源代码)ASP.NET MVC Linq to SQL 实现数据库增删改(源代码) ASP.NET MVC 分页控件

    在这个项目中,我们将深入探讨如何在ASP.NET MVC中利用Linq to SQL来实现数据库的增、删、改操作,并结合分页控件提升用户体验。 首先,我们需要创建一个数据上下文类,这个类继承自System.Data.Linq.DataContext,...

    Qt5实现的一个mvc 的例子

    在Qt5中,我们可以通过QML或者C++来实现MVC架构。 本文将详细介绍如何使用Qt5实现一个MVC的例子,以及涉及的相关知识点。 首先,我们来理解MVC模式的基本概念: 1. Model(模型):负责处理数据和业务逻辑,它是...

    基于MVC模式的购物网的设计与实现

    和售后服务等,采用MVC模式开发购物网,可以方便地实现系统的职能分工。 Model层实现系统中的业务逻辑,View层用于与用户的交互,Controller层是 Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图...

    ASP.NET MVC 4 插件化架构简单实现

    ASP.NET MVC 4 插件化架构简单实现 ASP.NET MVC 4 插件化架构简单实现-思路篇 http://blog.csdn.net/hao_ds/article/details/42102969 ASP.NET MVC 4 插件化架构简单实现-实例篇 ...

    .NET MVC实现文件上传

    在.NET框架中,MVC(Model-View-Controller)是一种广泛使用的Web应用程序开发模式,它提供了灵活、可测试和组织良好的代码结构。本教程将详细讲解如何使用.NET MVC实现文件上传功能,这是一个常见的Web开发需求。 ...

Global site tag (gtag.js) - Google Analytics