AngularJs学习笔记(慕课网)

1. Controller使用过程中的注意点

  1. 不要试图去复用Controller, 一个控制器一般只负责一小块视图
  2. 不要在Controller中操作DOM, 这不是控制器的职责. 封装在指令里.
  3. 不要在Controller中做数据格式化, ng有很好用的表单控件
  4. 不要在Controller里面做数据过滤操作, ng有$filter服务
  5. 一般来说, Controller是不会互相调用的, 控制器之间的交互会通过事件进行  ---> 这是强耦合

2.

<html ng-app>
    <div>
        <input ng-model="greeting.text"/>
        <p>{{greeting.text}}, Angular</p>
    </div>
    ....
    <script src="js/angular-1.3.0.js"></script>
<html>

则p标签中的值会随着input里的输入进行改变.

启动后, 会找ng-app中的指令. 找到ng-model后会生成greeting.text数据模型, 这个模型挂载scope根目录下, 这样所有的{{greeting.text}}都可以获得其值

3. Angularjs的MVC是借助于$scope实现的

作用域也是有层次结构的, 如果在内层作用域中没有找到值则会向上去找, 类似JS中的原型查找

4. 关于$scope

  1. $scope是一个POJO(Plain Old JavaScript Object)
  2. $scope提供了一些工具方法$watch()/$apply()
  3. $scope是表达式的执行环境(或者叫作用域)
  4. $scope是一个树形结构, 与DOM标签平行
  5. 子$scope对象会继承父$scope上的属性和方法
  6. 每一个Angular应用只有一个根$scope对象(一般位于ng-app上)
  7. $scope可以传播事件, 类似DOM事件, 可以向下也可以向上
  8. $scope不仅是MVC的基础, 也是后面实现双向数据绑定的基础
  9. 可以用angular.element($0).scope()进行调试
  10. $scope的生命周期: Creation->Watcher registration->Model mutation->Mutation observation->Scope destruction
时间: 2024-10-22 19:56:12

AngularJs学习笔记(慕课网)的相关文章

AngularJs学习笔记-慕课网AngularJS实战

第1章 快速上手 放弃了IE8以及以下,不支持. 4大核心特性: 1.MVC Model: 数据模型 View:视图 Controller:业务逻辑和控制逻辑 好处:职责清晰,模块化. 2.模块化 3.指令系统 (AngularJs特有的) 4.双向数据绑定(AngularJs特有的) 第2章 基本概念和用法 第3章 核心原理解析 第4章 用AngularJS开发移动APP 第5章 前端自动化测试 TDD(测试驱动开发) 课程地址:http://www.imooc.com/view/156

Linux学习笔记——慕课网

Linux源码地址:www.kernel.org小企鹅 开源软件.免费软件有区别,还有自由软件. 可以查看某个网站的服务器等等各种信息:http://www.netcraft.com Android底层是Linux,在安卓机器上安装一个sshd的APP,就可以远程这台手机.iOS底层是Unix. Linux与windows的不同: 1.Linux严格区分大小写 2.Linux中所有内容以文件形式保存,包括硬件.一切内容皆文件. 3.Linux不靠扩展名区分文件类型. 但有约定俗成的扩展名(为的是

angularjs学习笔记—事件指令

angularjs学习笔记—事件指令 小俞 4.4k 3月30日 发布 推荐 4 推荐 收藏 17 收藏,11.1k 浏览 ngClick 适用标签:所有触发条件:单击 #html <div ng-controller="LearnCtrl"> <div ng-click="click()">click me</div> <button ng-click="click()">click me<

angularjs 学习笔记(一) -----JSONP跨站访问

1.  下载angular-seed-master-master包,解压缩后将新版本的angularJS文件放入其中. 2.  制作frontmockup文件夹(前端调用),同时制作backmockup文件夹(后端调用),使用IIS开启2个webserver(此步骤可以用其他方式替代). 3.  backmockup站点添加以下HTTP头 Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:origin,x-req

angularjs 学习笔记 -----结构定义

1.  Module使用方法 var APP =angular.module('fontApp',['ngResource', 'ngRoute', 'ngSanitize']); APP为定义的别名,之后的调用都应尽量使用该别名 'fontApp' ng-app="fontApp" 新版本angular中route被分离出来,各个被使用的Providerdou需要在此处声明. 大型应用应该拆分模块来做,先定义一个服务模块,然后再加载它 angular.module('xmpl.ser

angularjs 学习笔记(二) ----- bootstrap框架

1.  下载新的jquery-1.11.1文件. 2.  下载新的bootstrap文件. 3.  选择流式布局的模板填充入index.html文件. 4.  将top.foot转为nginclude文件 nginclude必须使用$scope对象,因此需要设置一个全局的mainctrl来将字符串或全局变量注入$cope中. $rootScope.global =global; 直接将全局变量global赋值给$rootScope,并且之后的子$Scope会获得继承,静态定义与ctrl分开. 5

Django学习笔记 官网教程纠正 代码

原文: Django学习笔记 官网教程纠正 代码 Django学习笔记 4.模板初学中,照书例django book 出现以下异常 raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE) ImportError: Settings cannot be imported, because environmen

-_-#AngularJS学习笔记

AngularJS学习笔记 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <style> .done{display:none} .ignore{color:#999} </style> <ul> <li class="

AngularJs学习笔记--directive

原版地址:http://code.angularjs.org/1.0.2/docs/guide/directive Directive是教HTML玩一些新把戏的途径.在DOM编译期间,directives匹配HTML并执行.这允许directive注册行为或者转换DOM结构. Angular自带一组内置的directive,对于建立Web App有很大帮助.继续扩展的话,可以在HTML定义领域特定语言(domain specific language ,DSL). 一.在HTML中引用direc