标签:style extc 规则 htm www 模块 管理 存在 建模
angular.element
jqLite
(轻量级jQuery)// 获取 jqLite 对象
var $ = angular.element;
$(document).ready(function() { });
angular.module(‘模块名‘, [])
ng-app="模块名"
,告诉NG管理指定的页面部分模块名.controller(‘控制器名‘, function() {})
ng-controller="控制器名"
,指定管理内容的控制器$scope
中,即:暴露数据和行为给视图ng-model
或者 {{}}
拿到并绑定数据angular
.module(‘testApp‘, [])
.controller(‘DemoController‘, function($scope) {
});
// 第一个参数:控制器的名称
// 第二个参数:数组,最后一项表示回调函数,除此之外其他的参数表示依赖的参数列表
app.controller("DemoController", ["$scope", "$log", function($scope, $log) {
$log.log("打印日志了");
}]);
this
添加数据$scope.age
添加数据DemoController as demo
<div ng-app="testApp" ng-controller="DemoController as demo">
<p>{{demo.name}}</p>
</div>
<script>
angular.module(‘testApp‘, [])
.controller(‘DemoController‘, [‘$scope‘, function($scope) {
// 添加模型属性
this.name = ‘Jack‘;
}]);
</script>
/**
* [提取参数]
* @param {Function} fn [回调函数]
* @return {[type]} [参数列表数组]
*/
function extractArgs(fn) {
var r = /^[^\(]*\(\s*([^\)]*)\)/;
var args = r.exec( fn.toString() );
return args[1].split(‘,‘);
}
extractArgs(function($scope, $log) {});
// 方法的返回值:["$scope", "$log"]
ng-bind
指令ng-cloak
指令textContent
,功能类似于:{{}}
ng-bind
指令无法输出 html 内容(即:实现innerHTML的功能)<p ng-bind="name"></p>
<style>
.ng-cloak {
display: none;
}
</style>
<p class="ng-clock">{{name}}</p>
ng-bind-html="<div></div>"
npm install angular-sanitize
<div ng-bind-html="name"></div>
<script src="angular-sanitize.js"></script>
<script>
// 引入 ngSanitize 模块
var app = angular.module("testApp", ["ngSanitize"]);
app.controller("testController", ["$scope", function($scope) {
$scope.name = "<h1>雨啊雨</h1>";
}]);
</script>
<ul>
<li ng-repeat="item in datas"></li>
</ul>
<script>
app.controller(‘TestController‘, [‘$scope‘, function($scope) {
$scope.datas = [
{name: ‘jack‘, age: 19},
{name: ‘tom‘, age: 21},
{name: ‘rose‘, age: 22}
];
}]);
</script>
track by $index
解决,数据重复的问题<ul>
<li ng-repeat="item in datas track by $index"></li>
</ul>
$odd
/$even
,用来表示当前项的奇偶性,类型为:布尔值$first
/$last
/$middle
,用来表示当前项的位置,类型为:布尔值$index
,用来表示当前项的索引号,从0开始计算<ul>
<!-- 隔行变色效果的实现 -->
<li ng-repeat="item in datas" class="{{$odd?‘red‘:‘green‘}}"></li>
</ul>
ng-class="expression"
,expression是model中的一个数据或表达式ng-class="{red: $odd, green: $even}"
ng-class
通过指定一个对象(对象字面量),键为:类名,值为:布尔值ng-class="type"
<div ng-class="type"></div>
<script>
app.controller("demoController", ["$scope", function($scope) {
$scope.type = "red";
}]);
</script>
ng-show="布尔值"
<div ng-show="isShow"></div>
ng-if="布尔值"
<div ng-hide="false"></div>
ng-switch-when
来使用<div ng-switch="name">
<div ng-switch-when="jack">我是jack</div>
<div ng-switch-when="tom">我是tom</div>
<div ng-switch-when="rose">我是rose</div>
</div>
<script>
$scope.name = "jack";
</script>
ng-checked
: 复选框是否选中ng-selected
: 下拉框是否选中ng-disabled
: 是否禁用ng-readonly
: 是否只读
特点:都是单向数据绑定,只能实现从数据到视图的绑定
ng-checked / ng-selected 可以使用 ng-model 代替, 但是要注意ng-model是双向绑定
ng-click / ng-submit / ng-dblclick / ng-blur / ng-focus / ng-change
data-
作为属性的开头,
angluar中的所有指令完全支持HTML5中的语法
2.Angular框架-$watch,创建控制器的方式,依赖注入原理,ng-repeat,ng-class
标签:style extc 规则 htm www 模块 管理 存在 建模
原文地址:http://www.cnblogs.com/lpf-leo1992/p/7137418.html