AngularJS(3)PhoneCat Demo Advance
Go on with the PhoneCat demo https://github.com/angular/angular-phonecat
9. Custom Filter
…snip…
10. Event Handlers
Controller
Define a property in $scope to hold the image URL.
function($scope, $routeParams, $http) {
$http.get('phones/' + $routeParams.phoneId + '.json').success(function(data) {
$scope.phone = data;
$scope.mainImageUrl = data.images[0]; //set the page load default image first one
});
$scope.setImage = function(imageUrl) {
$scope.mainImageUrl = imageUrl;
}
}]);
Provide a function in $scope to change the value of image URL.
Template
The most magic part is directly calling the $scope function in ng-click
<img ng-src="{{img}}" ng-click="setImage(img)">
Test
element('.phone-thumbs li:nth-child(3) img').click();
expect(element('img.phone').attr('src')).toBe('img/phones/nexus-s.2.jpg’);
Click on the sub element of li and verify the IMG src value.
11. REST and Custom Services
Template
Import the REST client
<script src="js/controllers.js"></script>
And put all my model codes in services.js
<script src="js/services.js"></script>
Service
Here is how we build the service layer, we use factory to create a service instance.
var phonecatServices = angular.module('phonecatServices', ['ngResource']);
phonecatServices.factory('Phone', ['$resource',
function($resource){
return $resource('phones/:phoneId.json', {}, {
query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
});
}]);
Controller
Leave the lower layer $http, deal with the service object Phone, fetch all the data from there.
$resource is higher than $http, and we use $resource to build the REST client, we create service layer here.
12. Applying Animations
It is powerful and great, but I will not use it right now.
More examples are here
http://code.angularjs.org/1.2.8/docs/cookbook/index
Guide book is here
http://code.angularjs.org/1.2.8/docs/guide/index
References:
http://code.angularjs.org/1.2.8/docs/tutorial/step_09
http://code.angularjs.org/1.2.8/docs/tutorial/step_11
http://code.angularjs.org/1.2.8/docs/guide/index
http://code.angularjs.org/1.2.8/docs/cookbook/index
- 浏览: 2551048 次
- 性别:
- 来自: 成都
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
相关推荐
3. **注入服务**:在AngularJS中,我们通常会创建服务并注入到控制器或其他组件中。在RequireJS环境中,这些服务可以通过模块导出和导入来管理。 4. **路由配置**:如果涉及到uirouter,需要在AngularJS的模块中...
在"angularJs demo 各种基本用法"中,我们可以深入探讨以下几个关键概念:路由(router)、过滤器(filter)、服务(service)以及指令(diractive)。 **路由(Router)**: AngularJS的路由功能允许我们根据URL来...
3. **控制器**:在 AngularJS 中,控制器是 JavaScript 对象,它们定义了应用的业务逻辑。`ng-controller` 指令用于指定控制器,例如 `ng-controller="MyCtrl"`,其中 `MyCtrl` 是一个 JavaScript 函数,定义在你的...
angularJs2官网demo,使用方法:需要在本地安装npm,(https://nodejs.org/en/下载最新版本的nodeJs,保证node的版本高于等于v5.x.x,npm版本高于等于3.x.x),使用node -V或者npm -V检查版本。 下载文档之解压到某个目录...
在这个"Springmvc和Angularjs交互代码Demo"中,我们可以看到如何将这两者结合使用,实现前后端的数据交换和交互。 Spring MVC在后端主要负责处理HTTP请求、业务逻辑处理以及数据访问。它通过控制器(Controller)将...
3. **angular-1.5.8**:这是AngularJS的一个特定版本,说明项目使用的是AngularJS 1.x系列,而不是后来的Angular 2+版本。AngularJS 1.5.8是稳定版本,具有许多修复和改进,适用于开发和维护现有项目。 4. **...
AngularJS是前端开发流行框架,本Demo展示了表单验证的意义,及实现方法,掌握Angular基础指令,通过不同的指令元素可以拥有不同功能,并通过指令与表单合作验证,从而实现表单验证的敏捷化开发。
**AngularJS + SpringMVC 入门Demo详解** AngularJS 和 SpringMVC 是两种非常流行的开源框架,分别在前端和后端发挥着重要作用。AngularJS 是一个强大的 JavaScript 框架,用于构建单页应用程序(SPA),而 ...
这个"angularjs ui.router嵌套路由demo"是展示如何在AngularJS项目中使用UI.Router进行多级路由配置和页面嵌套的一个实例。通过这个demo,我们可以深入理解UI.Router的工作原理和实际应用。 首先,UI.Router不同于...
angularjs的demo
### 3. 配置路由 接下来,我们需要配置路由。这通常在主模块的配置阶段完成,通过调用`$routeProvider`的`when`方法定义路由规则: ```javascript app.config(function($routeProvider) { $routeProvider .when...
AngularJS + Bootstrap Demo项目,获取豆瓣电影数据
在本文中,我们将深入探讨AngularJS分页的实现方法,这是一种强大的前端JavaScript框架,用于构建交互式的Web应用程序。AngularJS的分页功能是提高大型数据集加载效率的关键,它允许用户逐步加载数据,而不是一次性...
这个"angularjs demo"压缩包很可能是包含了一些示例项目,帮助开发者理解和学习AngularJS的核心概念和功能。 首先,AngularJS的核心特性包括数据绑定、依赖注入、指令系统、过滤器和表单处理等。数据绑定是...
3. **配置视图解析**:由于AngularJS运行在前端,所以SpringMVC不需要传统的视图解析,但仍然需要处理静态资源(如:AngularJS的JS文件和HTML模板)。 4. **创建AngularJS应用**:在前端,创建一个AngularJS应用,...
3. **上传进度**:实时更新上传进度,可以显示百分比或进度条,提升用户体验。 4. **取消上传**:在上传过程中,用户可以随时取消上传任务,避免因网络问题或错误导致资源浪费。 5. **多文件上传**:支持一次选择多...
本示例以"AngularJs demo 例子(表单验证)form"为主题,结合bootstrap美化,展示了如何在AngularJS中实现表单验证。 **1. AngularJS 表单基础** 在AngularJS中,表单是由`<form>`标签定义的,可以通过`ngForm`或`...
3. **AngularJS应用**:在前端,一个AngularJS应用会被创建,包括一系列的模块(`ng-app`)、控制器(`ng-controller`)、服务(`$http`用于与SpringMVC通信)、指令(自定义DOM元素或属性)等。数据双向绑定使得...
一个angularjs的项目demo,介绍了angularjs的文件结构,主要用于对web前端进行管理的MVC框架
3. **Mobile UI**:移动UI是指为移动设备(如智能手机和平板电脑)设计的用户界面。一个好的移动UI需要考虑屏幕尺寸、触摸交互以及设备特性,以提供流畅、直观的用户体验。 4. **自适应设计**:自适应设计是一种...