MVC模式

模型(model)-视图(view)-控制器(controller)

Angular.js采用了MVC设计模式的开源js框架

1、如何在angular.js建立自己的模块(model),控制器(controller),操作模型数据。

  

<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="js/angular.js"></script>
<!--这里我们需要引入一个angular.js -->
</head>
<!--④:在body中,声明执行myCtrl控制器-->
<body ng-controller="myCtrl"> <!--用双花括号括起来来引用,创建好的模型数据 -->
<p>{{name}}</p> <script>
//①: 模块的声明
var app= angular.module("myApp",['ng']); //③: 控制器的声明
app.controller('myCtrl',function($scope){
console.log('in my contro function');
//⑤:操作模型数据
//$scope是建立模型数据和视图的桥梁
$scope.name='web1608';
});
</script>
</body>
</html>

2、ng指令

  对于图像数据(ng-src)和(ng-click)的引用 

<button ng-click="add()">+1</button>
<img ng-src="img/{{imgUrl}}"/>
<script>
//模块的声明
var app=angular.module('myApp',['ng']); //控制器的声明
app.controller('myCtro',function($scope){
$scope.num=10;
$scope.imgUrl='1.jpg';
$scope.add=function(){
$scope.num++;
console.log($scope.num);
}
})
</script>

需要使用img的src属性是同样 也要用ng指令中定义好的ng-src  来使用模型数据。否则浏览器显示后会提示有错误 .

  使用(ng-repeat)来遍历数据:

 <!DOCTYPE html>
<html ng-app="myApp">
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="js/angular.js"></script>
</head>
<body ng-controller="myCtro">
<!--简易 添加 数据和 删除 数据 ng-repeat -->
<table>
<thead>
<tr>
<th>单价</th>
<th>数量</th>
<th>小计</th>
<th>删除</th>
</tr>
</thead>
<tbody>
<!--ng-repeat 遍历方式① -->
<tr ng-repeat="shop in cart track by $index">
<!--shop in cart 是遍历数组对象cart 给shop(自己命名) 和 for in 类似 -->
<!--track by $index 每个遍历过程的shop 都有一个下标 $index-->
<td ng-repeat="(key,value) in shop">
<!-- ng-repeat 遍历方式② -->
<!-- 遍历shop 关联数组 方式 : 键对值-->
{{value}}
</td>
<td>
<button ng-click="delete($index)">删除</button>
</td>
</tr>
</tbody>
</table>
<button ng-click="add()">添加</button>
<script>
var app=angular.module('myApp',['ng']); app.controller('myCtro',function($scope){
$scope.cart=[
{cname:'冰箱',price:1000,num:1},
{cname:'烤箱',price:300,num:1},
{cname:'保鲜箱',price:200,num:1},
]; $scope.delete=function($index){
//对cart进行删除操作
$scope.cart.splice($index,1); } $scope.add=function(){
//直接入栈 添加新数据
$scope.cart.push({cname:'保鲜箱',price:200,num:1});
}
})
</script>
</body>
</html>

  显示结果:

Angular.js 的初步认识的更多相关文章

  1. angular 实现modal windows效果(即模态窗口,半透明的遮罩层),以及bootstrap(css,components,js)的初步学习

    废话不说,直接上代码.可直接看效果,对着分析..今天算是bootstrap 入门了,开心.. 突然居然很多事情就是那样,不要太多的畏惧,迈出第一步其实就成功了一半了. <html ng-app= ...

  2. 通过Web Api 和 Angular.js 构建单页面的web 程序

    通过Web Api 和 Angular.js 构建单页面的web 程序 在传统的web 应用程序中,浏览器端通过向服务器端发送请求,然后服务器端根据这个请求发送HTML到浏览器,这个响应将会影响整个的 ...

  3. 青出于蓝而胜于蓝 — Vue.js对Angular.js的那些进步

    Angular.js与Vue.js是非常有渊源的两款前端框架,据Vue.js的官方网站描述,在其早期开发时,灵感来源就是Angular.js.而在很多方面,Vue.js也正像是中国的那句古话,&quo ...

  4. MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录

    注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是 ...

  5. angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- testServe

    angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- testSer ...

  6. (翻译)Angular.js为什么如此火呢?

    在本文中让我们来逐步发掘angular为什么如此火: Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View ...

  7. angular.js写法不规范导致错误

    以下写法:没有明确指定module和controller,写法不规范. 更改angular.js版本会出bug. <html ng-app> <head> <title& ...

  8. Angular.js实现折叠按钮的经典指令.

    var expanderModule=angular.module('expanderModule',[]) expanderModule.directive('expander',function( ...

  9. Angular.js通过bootstrap实现经典的表单提交

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel= ...

随机推荐

  1. 17+个ASP.NET MVC扩展点【附源码】

    1.自定义一个HttpModule,并将其中的方法添加到HttpApplication相应的事件中!即:创建一个实现了IHttpmodule接口的类,并将配置WebConfig.  在自定义的Http ...

  2. PostgreSQL ROW_NUMBER() OVER()

    转自:http://blog.csdn.net/luojinbai/article/details/45078809 语法:  ROW_NUMBER() OVER( [ PRITITION BY co ...

  3. python web框架之django环境搭建

    一.django环境搭建 https://www.djangoproject.com/download/ 下载适合自己的版本,在右边有压缩包版本的,也可以到git上去拽.我用的python27,下载的 ...

  4. leetcode 28

    题目描述: Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if ...

  5. springmvc之格式化要显示的小数或者日期。

    把保存的小数或者日期按照想要的格式显示. 首先导入jar包joda-time-2.3.jar,下载地址http://pan.baidu.com/s/1gfNuUfp 这里使用注解的方式进行格式化. 创 ...

  6. hduoj 1286 找新朋友

    http://acm.hdu.edu.cn/showproblem.php?pid=1286 找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...

  7. css名词解释

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Linux系统安装-系统分区

    ctrl+alt+enter全屏

  9. hdu 3839 Ancient Messages (dfs )

    题目大意:给出一幅画,找出里面的象形文字. 要你翻译这幅画,把象形文字按字典序输出. 思路:象形文字有一些特点,分别有0个圈.1个圈.2个圈...5个圈.然后dfs或者bfs,就像油井问题一样,找出在 ...

  10. 二十一、Java基础--------IO流之综合案例分析

    前三篇文章详细介绍了IO流体系所涉及的重点内容,为了帮助理解与学习,本片博客主要是分析一个与IO操作相关的题目. 例1:在我们观看视频时经常要关注的就是视频的时间长度,在学习了IO操作之后,就可以自己 ...