The app structure:

Front-end: app.js

/**
* Created by Answer1215 on 12/9/2014.
*/
'use strict'; function MainCtrl(PeopleService) {
var vm = this;
vm.people = [];
vm.selectedPerson = {}; vm.getPeople = PeopleService.getPeople().then(function(response) {
vm.people = response.data;
}); vm.selectPerson = function(person) {
PeopleService.getSelectedPerson(person).then(function(response) {
vm.selectedPerson = response.data;
vm.selectedPerson.fullName = response.data.firstName + " " + response.data.lastName;
}); } } function PeopleService($http) { var PeopleService = {};
PeopleService.getPeople = function() {
return $http.get('http://localhost:3000/people');
} PeopleService.getSelectedPerson = function(person) {
return $http.get('http://localhost:3000/people/'+person._id);
} return PeopleService;
} angular.module('app',[
'ngResource'
])
.controller('MainCtrl', MainCtrl)
.service('PeopleService', PeopleService);
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css"/>
</head>
<body ng-app="app"> <div class="row" ng-controller="MainCtrl as vm">
<div class="col-xs-4">
<ul>
<li ng-repeat="person in vm.people" ng-click="vm.selectPerson(person)">{{person.firstName}}</li>
</ul>
</div>
<div class="col-xs-6">
<h2>{{vm.selectedPerson.fullName}}</h2>
<span>{{vm.selectedPerson.email}}</span>
</div>
</div>
<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angular-resource/angular-resource.min.js"></script>
<script src="app.js"></script>
</body>
</html>

Backend:

server.js

'use strict';

var express = require('express');
var cors = require("cors");
var app = express();
app.use(cors());
var people = require('./controller/people'); app.get('/people', people.getAll);
app.get('/people/:id', people.get); app.listen(3000);

controller/people.js

/**
* Created by Answer1215 on 12/26/2014.
*/
var model = require('../model/people'); exports.getAll = function(request, response){
model.getAll(function(err, data) {
if(err) response.json(503, {error: true}); response.json(200, data);
});
} exports.get = function(request, response){
var id = request.params.id;
model.get(id, function(err, data) {
if(err) response.json(503, {error: true}); response.json(200, data);
});
}

model/people.js

/**
* Created by Answer1215 on 12/26/2014.
*/
var mongoose = require('../lib/mogoose'); var personSchema = {
firstName:String,
lastName:String,
email:String
}; //create a person model, and rename db as people
var Person = mongoose.model('Person', personSchema); exports.getAll = function(callback) {
Person.find().select("firstName").exec(function(err, data) {
// response.json(200, data);
callback(err, data);
});
} exports.get = function(id, callback){
Person.findById(id, function(err, data) {
//response.send(data);
callback(err, data);
});
}

lib/mogoose.js

/**
* Created by Answer1215 on 12/26/2014.
*/
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/simple'); module.exports = mongoose;

最新文章

  1. eclipse svn提交报错
  2. guava学习--ratelimiter
  3. 在Nginx 下运行 Laravel5.1 的配置
  4. Java Portlet 规范概述
  5. python之加密
  6. C语言与汇编“硬在哪里”——什么是面向硬件?
  7. TL-WR703Nv1.7刷写openwrt固件
  8. 51 nod 1055 最长等差数列(dp)
  9. 关于 DotNetCore 的自定义权限管理
  10. DevExpress VCL Controls 2019发展路线图(No.2)
  11. 当使用cokie进行数据交互时候,cookie只需存储该对象的id即可不需要存放其他数据;只需在写个接口根据cookie里面的对象id来创建对象
  12. JDBC-HikariCP
  13. Spark源码剖析 - SparkContext的初始化(二)_创建执行环境SparkEnv
  14. java微信小程序调用支付接口
  15. 关于JSONObject和JSONArray所需要的jar
  16. gerp , sed , awk
  17. sql server2008本地连接选择windows身份验证无法登陆的解决办法
  18. Mac安装的PyCharm找不到顶部菜单栏 PyCharm找不到setting PyCharm不能个性化设置和直接导库
  19. UIResponder NSSet UITouch UIEvent
  20. null id in com.rocky.** entry 错误处理

热门文章

  1. HDU 4630-No Pain No Game(线段树+离线处理)
  2. 【LeetCode 221】Maximal Square
  3. 《Python核心编程》 第七章 映射和集合类型 - 习题
  4. 为cocos2d-x项目增加Lua支持
  5. 【原】Mongodb相关资料
  6. 关于javascript模式一书中var white = new Array(256).join(&ldquo; &rdquo;)
  7. Write a program to convert decimal to 32-bit unsigned binary.
  8. [.NET源码学习]实例化Font,遭遇字体不存在的情况。
  9. 在阿里云linux下使用SVN访问VisualSVN出错:SSL handshake failed: SSL error: Key usage violation in certificate has been detected
  10. Socket.io:有点意思