angularjs里面有一套十分强大的指令系统 比如内置指令:ng-app,ng-model,ng-repeat,ng-init,ng-bind等等 从现在开始我们讲解AngularJS自定义指令, 对于指令的命名:在定义时采用驼峰命名比如:helloDirective, 在页面中调用时会按照大写字母用-进行分割,并将大写字母变成小写:hello-directive 先看一个简单的指令: js angular.module('app',{}).directive('helloDirective'…
指令的scope对象是一个很重要,很复杂的对象,我们这一节作为重点讲解 可取值: 1.false(默认), 2.true, 3.{}(object) 1.false:默认值,不创建新的作用域 2.true:指令新建一个子作用域 3.json对象,完全独立的作用域 一.绑定策略 1.@Attr 01.父scope更改影响子scope对象 02.子scope对象不影响父scope 03.子scope对象修改后一样会受父scope改变而改变 04. 001.外部变量变化,username 002.外部…
这一节我们来说一下controller这个参数 一.指令控制器的配置方法: 对于指令我有两种配置路由的方式:1.在html中直接引用,2,在指令的controller参数里定义 第一种:在html中直接引用 我定义一个controller:其中newsApp为我自定义的app模块. js:controller var newsApp=angular.module('newsApp',{});newsApp.controller('ForDirective', function() { alert…
这一节我们主要看一下replace,transclude,restrict这三个参数 1.replace 可取值:bool 默认为:true 对于replace属性,设置为false表示原有指令标识不会被替换,设置为true的时候 原有指令被替换,咱们看一个例子: js newsApp.directive('helloDirective', function() { return { template: '<div>hello directive</div>', replace:…
今天我们先对 priority,template,templateUrl进行学习 1.priority 可取值:int 作用:优先级 一般priority默认为0,数值越大,优先级越高.当一个dom元素上有多个指令,在执行compile函数的时候,指令的执行顺序为:高优先级,先链接排序的先执行 如果想让一个指令最后一个执行: terminal 这个参数设置为true,即可使该指令在同一个Dom元素上的指令列表里最后一个执行 2.template 可取值:string或function 作用:指令…
app.controller创建控制器 一.作用域 Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. Scope 可应用在视图和控制器上 当在控制器中添加 $scope 对象时,视图 (HTML) 可以获取了这些属性. 视图中,你不需要添加 $scope 前缀, 只需要添加属性名即可,如: {{carname}}. <div ng-app="myApp" ng-controller=…
AngularJS中,子作用域一般都会通过JavaScript原型继承机制继承其父作用域的属性和方法.但有一个例外:在directive中使用scope: { ... },这种方式创建的作用域是一个独立的"Isolate"作用域,它也有父作用域,但父作用域不在其原型链上,不会对父作用域进行原型继承.这种方式定义作用域通常用于构造可复用的directive组件. 作用域的原型继承是非常简单普遍的,甚至你不必关心它的运作.直到你在子作用域中向父作用域的原始类型属性使用双向数据绑定2-way…
angularJS中作用域是什么 作用域(scope)是构成angularJS应用的核心基础,在整个框架中都被广泛使用,因此了解它如何工作是非常重要的 应用的作用域是和应用的数据模型相关联的,同时作用域也是表达式执行的上下文 $scope对象是定义应用业务逻辑.控制器方法和视图属性的地方 作用域是视图和控制器之间的胶水,在应用将视图渲染并呈献给用户之前,视图中的模板会和作用域进行连接 作用域能做什么 提供观察者以监视数据模型的变化 可以将数据模型的变化通知给整个应用,甚至是系统外的组件 可以进行…
angularjs自动化测试系列之karma karma test with jasmine 更好的利用工具是为了让生活更美好. 需要安装的东西: npm install karma -g mkdir karma-test cd karma-test npm init npm install -g jasmine --save-dev npm install -g jasmine-core --save-dev npm install -g karma-jasmine --save-dev ka…
欢迎大家指导与讨论 : ) 一. 作用域的事件传播 一 . 1 修改的传播   关于作用域最重要的一点是修改会通过事件传播下去,自动更新所以依赖的数据值,即使是通过行为产生的.简而言之,就是即时您只修改了某个作用域中的某个属性(比如说$scope.data),那么依赖于$scope.data的一些行为(参数含有$scope.data的一些函数),都会重新执行计算.比如下面的这个例子,每当 <input> 被输入不同的对象, getCountry(city) 就会再次计算. <input…