Angular.js 的初步认识
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 的初步认识的更多相关文章
- angular 实现modal windows效果(即模态窗口,半透明的遮罩层),以及bootstrap(css,components,js)的初步学习
废话不说,直接上代码.可直接看效果,对着分析..今天算是bootstrap 入门了,开心.. 突然居然很多事情就是那样,不要太多的畏惧,迈出第一步其实就成功了一半了. <html ng-app= ...
- 通过Web Api 和 Angular.js 构建单页面的web 程序
通过Web Api 和 Angular.js 构建单页面的web 程序 在传统的web 应用程序中,浏览器端通过向服务器端发送请求,然后服务器端根据这个请求发送HTML到浏览器,这个响应将会影响整个的 ...
- 青出于蓝而胜于蓝 — Vue.js对Angular.js的那些进步
Angular.js与Vue.js是非常有渊源的两款前端框架,据Vue.js的官方网站描述,在其早期开发时,灵感来源就是Angular.js.而在很多方面,Vue.js也正像是中国的那句古话,&quo ...
- 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 的目的是 ...
- angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- testServe
angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- testSer ...
- (翻译)Angular.js为什么如此火呢?
在本文中让我们来逐步发掘angular为什么如此火: Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View ...
- angular.js写法不规范导致错误
以下写法:没有明确指定module和controller,写法不规范. 更改angular.js版本会出bug. <html ng-app> <head> <title& ...
- Angular.js实现折叠按钮的经典指令.
var expanderModule=angular.module('expanderModule',[]) expanderModule.directive('expander',function( ...
- Angular.js通过bootstrap实现经典的表单提交
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel= ...
随机推荐
- Android新组件CardView
Android L以后,新增了一个CardView组件,Google官方应用中有不少地方是使用卡片来展示信息,背后应该就是这个CardView. 使用CardView要引入单独的support包:co ...
- angularJs之定时器
$timeout 服务 AngularJS $timeout 服务对应了 JS window.setTimeout 函数. 实例 两秒后显示信息: var app = angular.module(' ...
- docker 组件(c/s)
Docker 组件 1. docker client : docker的客户端 2. docker server : docker daemon的主要组成部分,接受用户通过docker client发 ...
- spark编写word count
创建SparkContext对象的时候需要传递SparkConf对象,SparkConf至少需要包含spark.master和spark.app.name这两个参数,不然的话程序不能正常运行 obje ...
- postgresql修炼之道学习笔记(1)
好好学习吧. 本笔记 仅作为摘要记录 前两章,主要是数据库对比和安装等. 对比,就比多说了,总是和别人比较,会显得自己身价低,呵呵. 安装也有很多文章,不多说. 第二章提到了一些简单的配置, 其在 d ...
- linux/unix 编程手册 fork()函数
父进程通过fork()函数创建子进程,将父进程数据段和栈的内容拷贝到子进程中,子进程执行程序execve创建新程序,调用exit函数退出到等待wait(),挂起父进程, 父子进程享用相同的程序文本段. ...
- Android 蓝牙API详解
随着近两年可穿戴式产品逐渐进入人们的生活,蓝牙开发也成为了Android开发的一个重要模块,下面我们就来说一说蓝牙的这些API. 1.蓝牙开发有两个主要的API: BuletoothAdapter:本 ...
- Android -- 常见控件的小效果
1,EditText控件 ① 修改光标颜色 自定义drawable 创建cursor.xml文件 <?xml version="1.0" encoding="utf ...
- JavaScript中数组操作常用方法
JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...
- SVD java 算法实现
https://github.com/Richard-Cao/MatrixSvdDemo/blob/master/app/src/main/java/me/ele/caolicheng/matrixs ...