AngularJs也是一个MVVM的前端js框架。
指令:ng-app/ng-init
ng-app:1.启动angularjs框架;2.告诉angularjs框架从ng-app指令所在标签的开始到结束之间的所有DOM元素都由angularjs框架管理。
注意:1.ng-app一般放在html标签内,用于告诉angularjs框架,整个页面都由angularjs管理;
<html ng-app>
<head>
<title>Kong's Website</title>
<script src="~/Scripts/angular.js"></script>
</head>
<body>
<div>{{"hello world!"}}</div>
<div>{{"hello angularjs!"}}</div>
</body>
</html>
运行结果为:
hello world!
hello angularjs!
2.一个页面默认加载第一个ng-app
<html >
<head>
<title>Kong's Website</title>
<script src="~/Scripts/angular.js"></script>
</head>
<body>
<div ng-app>{{"hello world!"}}</div>
<div ng-app>{{"hello angularjs!"}}</div>
</body>
</html>
运行结果为
hello world!
{{"hello angularjs!"}}
ng-init:初始化作用域
<html ng-app>
<head>
<title>Kong's Website</title>
<script src="~/Scripts/angular.js"></script>
</head>
<body ng-init="person={'name':'jane'};arr=['angularjs','jquery','dojo']">
<div>{{person.name}}</div>
<div>{{arr[0]}}</div>
</body>
</html>
运行结果:
jane
angularjs
ng-model:从作用域到视图,从视图到作用域的双向绑定
<head>
<title>Kong's Website</title>
<script src="~/Scripts/angular.js"></script>
</head>
<body>
<div>用户名:<input type="text" name="uname" ng-model="uname" /></div>
<div><span id="info">{{uname}}</span></div>
</body>
</html>
ng-bind:从作用域到视图的单向绑定
<html ng-app>
<head>
<title>Kong's Website</title>
<script src="~/Scripts/angular.js"></script>
</head>
<body>
<div>用户名:<input type="text" name="uname" ng-model="uname" /></div>
<div><span id="info" ng-bind="uname"></span></div>
</body>
</html>
在绑定值,不需要进行运算处理以及使用过滤器对输出内容进行处理时,ng-bind可以代替{{}}
表达式:{{}} 双大括号中间的部分,比如上述的person.name 和arr[0]