首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

一、前端MVC概要 1.1、库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束。库是工具,在单点上给我们提供功能。框架是依赖库的。AngularJS是框架而jQuery则是库。...angular.module(name,[requires],[configFn]); name:模块名称,必须指定 requires:依赖项,要被添加到注入器服务提供这个模块使用的模块名的数组,如果需要另一个模块的功能...configFn:模块配置阶段调用的另一个函数。...2.11、表达式 在模板中使用表达式是为了以充分的灵活性在模板、业务逻辑和数据之间建立联系,同时又能避免让业务逻辑渗透到模板中。 算术:+ - * / % 比较:== !...2、通过$scope对象把数据模型和函数暴露给视图(UI模板) 3、监视模型其余部分的变化,并采取相应的动作,双向绑定 为了让控制器保持轻量可管理状态,建议在视图的每一块功能区域创建一个控制器如,MenuController

15.4K100

前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

框架是一个软件的半成品,在全局范围内给了大的约束。库是工具,在单点上给我们提供功能。框架是依赖库的。AngularJS是框架而jQuery则是库。...angular.module(name,[requires],[configFn]); name:模块名称,必须指定 requires:依赖项,要被添加到注入器服务提供这个模块使用的模块名的数组,如果需要另一个模块的功能...configFn:模块配置阶段调用的另一个函数。...,建议在视图的每一块功能区域创建一个控制器如,MenuController、PathController 可以嵌套控制器,适OO中的继承特性 示例代码: <!...4.4、删除 移除最后一个元素并返回该元素值 arrayObj.pop(); 移除最前一个元素并返回该元素值,数组中元素自动前移 arrayObj.shift();  删除从指定位置deletePos开始的指定数量

12.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    3、Angular JS 学习笔记 – Controllers

    理解控制器 在Angular中,一个控制器是一个javascript构造函数用于填充Angular作用域。...当一个控制器通过使用ng-controller指令附加到DOM上的时候,Angular将初始化一个新的Controller对象,使用指定的控制器构造函数。...放置任何的展现逻辑到控制器中将极大的影响可测试性。...格式化输入 – 应该使用angular表单控制器处理 过滤输出 – 应该使用angular过滤器处理 在多个控制器中共享代码或状态 – 应该使用angular service。...作用域中的所有属性都将提供给在dom中注册了控制器的模板。 下面的例子演示了创建一个GreetingController,附加一个包含字符串’Hola!’的属性到作用域上。

    2.5K20

    Angular JS + Express JS入门搭建网站

    由此在项目不忙的时候,自己于是有时间和兴趣学习一下Angular JS与Express JS。   同时自己实现了一个最简单的Angular JS + Express JS的网站示例。 一....控制器Controller   要动态操作网页中的数据,我们可以针对Html页面编写控制器,控制器本质是一个Javascript方法,例如我们可以针对每一个HTML页面,写一个对应的Javascript...方法做控制器,来控制页面中的数据。...建议使用另外一种方式,就是用Angular JS的另一个Module ng-route,做路由控制,针对不同的路径,在同一个文件中定义好各自的控制器。...示例结果及小结   最后访问网站,可看到正确的结果,网站已被挂起,同时页面中的变量已被Angular JS控制器替换为正确数据。

    4.4K60

    AngularJs ng-route路由详解

    /bower_components/angular-route/angular-route.js"> 这主要是因为angular-route.js需要传入window.angular这个参数...,而这个参数只有在加载完angular才会出现。...when的第二个参数: controller:对应路径的控制器函数,或者名称 controllerAs:给控制器起个别名 template:对应路径的页面模板,会出现在ng-view处,比如"...然后把执行的结果值或者对应的服务引用,注入到控制器中。如果resolve中是一个promise对象,那么会等它执行成功后,才注入到控制器中,此时控制器会等待resolve中的执行结果。...路由有几个常用的事件: $routeChangeStart:这个事件会在路由跳转前触发 $routeChangeSuccess:这个事件在路由跳转成功后触发 $routeChangeError:这个事件在路由跳转失败后触发

    1.9K61

    2、Angular JS 学习笔记 – 双向数据绑定和Scope概念

    Angular 中的数据绑定是自动从模型和视图间同步数据,Angular的这种数据绑定实现让你可以将应用中的模型和视图的数据看作一个源, 视图在任何时候都是对模型的一个投影,当模型发生变化,相关的视图也会发生变化...作用域通知相关联的input,然后呈现出已经赋值的input,演示了控制器如何将数据写入到作用域中。...$watch(watchExpression,listener))当监视的表达式整体返回值转变成另一个新值时会检测到变化。如果这个值是一个数组或对象,它们内部的变化则无法监测到。...这个循环由两个小循环构成,一个用来处理evalAsync队列,另一个用来处理监听列表。...angular离开这个执行上下文,并且结束keydown时间在js框架中的使用。 浏览器重新渲染这个视图基于更新的文本。

    13.2K20

    第214天:Angular 基础概念

    / 5、Angular 上手 - 安装 Angular (1)下载 Angular.js 的包   + https://github.com/angular/angular.js/releases (2...)使用 CDN 上的 Angular.js   + http://apps.bdimg.com/libs/angular.js/1.4.9/angular.min.js (3)使用 Bower 安装   ...思想 - 模型   + 我们数据库中所有用户的信息   + 接受控制器传来的用户名和密码进行校验的业务逻辑并返回true/false - 控制器   + 接受用户在界面上填写的用户名和密码   + 将用户名和密码交给模型...- 视图   + 给用户呈现一个表单   + 接受用户输入内容,并将其提交给控制器   + 根据控制器返回的数据,响应用户页面 2、模块(Module) AngularJS很重要的一个特性就是实现模块化编程...$watch(‘totalCart’, calculateDiscount); $scope(上下文模型) 视图和控制器之间的桥梁 用于在视图和控制器之间传递数据 利用$scope暴露数据模型(数据,行为

    1.9K30

    【Hybrid开发高级系列】AngularJS(一)——基础专题

    内聚是指模块或者对象内部的完整性,一组紧密联系的逻辑应该被封装在同一模块、对象等代码单元中,而不是分散在各处;耦合则指模块、对象等代码单元之间的依赖程度,如果一个模块的修改,会影响到另一个模块,则说明这两模块之间是相互依赖紧耦合的...2.4 模型和控制器         在PhoneListCtrl控制器里面初始化了数据模型(这里只不过是一个包含了数组的函数,数组中存储的对象是手机数据列表): app/js/controller.js...我们是这样把表现层,数据和逻辑部件联系在一起的:    · PhoneListCtrl——控制器方法的名字(在JS文件 controllers.js中)和标签里面的 ngController...· 手机的数据此时与注入到我们控制器函数的作用域($scope)相关联。当应用启动之后,会有一个根作用域被创建出来,而控制器的作用域是根作用域的一个典型后继。...另一个非常需要注意的是,在上面的代码里面,当调用Phone服务的方法是我们并没有传递任何回调函数。

    55180

    前端MVC学习总结(二)——AngularJS验证、过滤器、指令

    二、过滤器 使用过滤器格式化数据,变换数据格式,在模板中使用一个插值变量。...点击价格与名称可以进行排序,排序时显示向上或向下的箭头,在搜索框中可以输入查询条件过滤数据。验证搜索框中的内容只能是字母与数字,不允许输入其它类型的字符。...视图 — 模板(进行数据绑定的HTML)会被呈现到视图中。 控制器 — ngController指令声明一个控制器类;该类包含了业务逻辑,在应用后台使用函数和值来操控域中的属性。...注意,你也能使用$route服务定义一个路由来将控制器附加到DOM上。一个常见错误是在模板上再次使用ng-controller定义一个控制器。这将引起控制器被附加和执行两次。.../angular146/angular-touch.min.js" type="text/javascript" charset="utf-8"> 在定义模块时指定要依赖的模块:

    15.4K60

    第218天:Angular---模块和控制器

    1、使用NG实现双边数据绑定 所有需要ng管理的代码必须被包裹在一个有ng-app指令的元素中 ng-app是ng的入口,表示当前元素的所有指令都会被angular管理(对每一个指令进行分析和操作)...刚刚创建的模块对象 14 var app= angular.module('myApp',[]); 15 // app.controller 方法用于创建一个控制器,所创建的控制器属于.../angular.js"> 3 4 // 由于控制器是必须出现在某个模块下的,想创建一个控制器必须先创建模块 5 var module =...angular.module('myModule', []); // 返回的就是模块对象 6 7 // angular在执行控制器函数时, 8 // 会根据参数的名字($scope.../angular.js"> 34 35 // 创建一个模块 36 var app = angular.module('HelloApp', [])

    68520

    前端框架:第一章:AngularJS

    遵循软件工程的M(数据)V(视图)C(控制器)模式,并鼓励展现,数据,和逻辑组件之间的松耦合.通过依赖注入(dependency injection),Angular为客户端的Web应用带来了传统服务端的服务...—控制层-->var app=angular.module('myApp',[]); //定义了一个叫myApp的模块//定义控制器app.controller('myController...理解 $scope: scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新...">var app=angular.module('myApp',[]); //定义了一个叫myApp的模块//定义控制器app.controller('myController...>var app=angular.module('myApp',[]); //定义了一个叫myApp的模块//定义控制器app.controller('myController',function($scope

    7.3K10

    AngularJS浅谈-博客

    应用程序在 内运行。 ng-controller=”myCtrl” 属性是一个 AngularJS 指令。用于定义一个控制器。 myCtrl 函数是一个 JavaScript 函数。...AngularJS 使用$scope 对象来调用控制器。 在 AngularJS 中, $scope 是一个应用象(属于应用变量和函数)。...控制器的 $scope (相当于作用域、控制范围)用来保存AngularJS Model(模型)的对象。 控制器在作用域中创建了两个属性 (firstName 和 lastName)。...用javascript定义作为视图控制器逻辑。在AngularJs作为MVC框架,在控制器中我们无需添加对于dom级的事件监听,这些在AngularJs中已经内置了。...在每一个HTML文档中,只能有一个AngularJS应用可以被自动启动,在HTML文档中第一个被找到定义在根元素上的ng-app指令将会作为自动启动的应用。

    2.4K30

    Angular2:从AngularJS 1.x 中学到的经验

    另一个值得注意的反模式就是:在不同的控制器中重复实现相同的业务逻辑。开发者倾向于拷贝粘贴这些逻辑,而实际上这些东西应该封装到service 里面去。...在《迈向Angular2》第4 章,将会学习如何用Angular 2中的组件和指令来取代AngularJS1.x 中控制器的功能。...服务端渲染的另一个典型使用场景就是:构建对Search Engine Optimization(SEO,搜索引擎优化)友好的应用。...在《迈向Angular2》第8 章,我们将会深入学习这款工具。 大规模应用 自从Backbone.js 出现之后 ,MVW 就是构建单页应用的标配。...TypeScript 另一个重要的隐含优点是使用静态类型带来的性能提升,因为JavaScript 虚拟机可以对静态类型进行运行时优化。

    2.7K10
    领券