-
神奇的$scope $scope是一个POJP (Plain Old JavaScript Object) $scope提供了一些工具方法$watch()/$apply() $scope是表达式的执行环境(或者叫作用域) $scope是一个树形结构,与DOM标签平行 可以用anfular.element($0).scope()进行调试 子$scope对象会继承父$scope上的属性和方法 么一个Angular应用只有一根$scope对象(一般位于ng-app上) $scope可以传播事件,类似DOM事件,可以向上也可以向下 $scope不仅是MVC的基础,也是后面实现双向数据绑定的基础查看全部
-
非常重要:AngularJS的mvc是通过$scope(作用域)实现的。 每个Controller相当于一个闭包函数,可定义属性和方法, View是通过Directive做到复用的查看全部
-
controller使用过程中的注意点: 1、不要试图去复用controller,一个控制器一般只负责一小块视图 2、不要在controller中操作dom,这不是控制器的职责(控制器中操作dom会导致浏览器重绘或重新布局,是非常昂贵的;dom操作应该放在指令里面) 3、不要在controller里面做数据格式化,ng有很好的表单控件 4、不要在controller中做数据过滤操作,ng有$filter服务 5、一般来说,controller是不会互相调用的,控制器之间的交互通过scope或者数据模型上的事件进行交互,controller在内部监控事件完成查看全部
-
把通用的逻辑做成一个服务,然后用控制器调用而不是继承这个公共的东西查看全部
-
MVC的困难 1、操作dom的代码必须等待整个页面全部加载完成 2、多个js文件之间如果出现互相依赖,程序员必须自己解决 3、js的原型继承也给前端编程带来了很多困难 浏览器加载脚本是以字符串形式加载的,然后通过内部的JIT进行编辑查看全部
-
为什么需要MVC? 1、代码规模越来越大,切分职责是大势所趋 2、为了复用:很多逻辑是一模一样 3、为了后期维护方便:修改一块功能不影响其它功能 MVC只是手段,终极目标是模块化和复用查看全部
-
1、代码编辑工具:sublime(轻量级)网址www.sublimetext.com ,常用写法:div.row>div.col-md-12*10 敲击 ctr+E即可生成html结构 webstorm--在右上角显示出来浏览器兼容性,点击浏览器图标就可以实时运行浏览器了;基于intellij的2、集成开发工具,相对重量级,但功能很全,使用很愉快 断点调试工具:chrome插件Batarang或者火狐FireBug 3、版本管理工具:msysgit(git命令行工具),tortoisegit(git小乌龟,可视化图像界面)。到github上克隆项目:使用小乌龟GIT克隆别人的GIT项目时,首先需要fork下,因为是别人的项目。在右下角https FORK自己的分支 ,把地址拷贝下来。进入你的本地文件夹,右键Git clone,粘贴刚才的地址,点击OK。查看全部
-
我们需要什么样的前端开发环境? 1、代码编辑工具 2、断点调试工具 3、版本管理工具 4、代码合并和混淆工具(防止业务逻辑暴露) 5、依赖管理工具 6、单元测试工具(node.js) 7、集成测试工具(模拟鼠标和键盘的动作)查看全部
-
AngularJS双向数据绑定:视图和数据是对应的,当视图上内容发生变化时,数据模型里立刻也发生变化,数据模型发生变化时视图自动更新,这个过程要借助事件机制完成; 视图变化例子:页面表单收集用户输入的,很容易发生变化,通过angularJS就可以立即同步到模型中查看全部
-
目前大多数前端框架都是单向数据绑定:jQueryUI,BackBone,Flex 经典单项数据绑定机制流程:通过数据绑定机制,把模板和数据(可能从后台服务器读取的)生成html标签,插入到文档流中 缺点:标签生成后不能改变,当有新数据时要重新来一遍,整体替换下查看全部
-
核心特性3:指令系统 自定义标签<hello>,通过angular的指令系统,让浏览器认识指令,指令的本质类似于taglib查看全部
-
/*angular一切是从模块开始的,directive(指令)也是这样,指令不仅仅能定义标签*/ var myModule = angular.module("MyModule", []); /*"hello"是directive的名称,对应html中的标签名<hello>*/ myModule.directive("hello", function() { return { restrict: 'E', template: '<div>Hi everyone!</div>', replace: true } });查看全部
-
1、一切都是从模块开始的, 2、ng-app 是一个指令,ng-app="MyModule"告诉浏览器要执行那个模块,并且这个指令只出现一次(单页中),相当于 c 语言的main函数 5、{{}}表示取值,如,当input中内容变化时,p标签的内容立即更新: <input ng-model="greeting.text" /> <p>{{greeting.text}},AugluarJS</p>查看全部
-
核心特性2:模块化Module查看全部
-
/*定义模块*/ var myModule = angular.module("HelloAngular", []); /*告诉angular生成控制器(控制器名称为HelloAngular),注入$scope(依赖注入特性)*/ myModule.controller("helloAngular", ['$scope', function HelloAngular($scope) { $scope.greeting = { text: 'Hello' }; } ]); /*备注:这样代码模块化了,不在依赖全局函数做为控制器,符合设计思想的*/查看全部
举报
0/150
提交
取消