所以我使用Mean.js框架创建应用程序,我已经创建了两个模块,一个客户模块和一个约会模块。约会将有一个客户ID。
Mean.js在模块中创建客户端和服务器文件,在客户端使用Angular。
我对Angular没有经验,所以我在努力寻找下列方法时会遇到一些困难。
在" create-appointmentments-view.html" (约会模块),我希望能够将搜索框绑定到客户控制器,以便我可以搜索客户的名称并选择它。
客户模块按预期工作,我可以创建,列出,编辑和更新新客户,但当然它不需要来自其他模块的任何其他信息。与约会模块相反,我希望能够查看客户列表并选择其中一个。
每个模块都有自己的控制器来管理CRUD操作,路由和视图。
我想获得一些帮助,文档,链接等,以帮助我找到答案,并了解如何做到这一点的基础知识。
谢谢!
答案 0 :(得分:1)
可能需要使用Angular服务,更具体地说是工厂。他们是单身,所以一旦被召唤,就不会像控制者一样改变。
这是一个精简的例子:http://plnkr.co/edit/DoxvzZZf4OIxaOJ24EED
angular
.module('app',['ngRoute'])
.config(config)
.factory('Service',Service)
.controller('FirstCtrl',FirstCtrl)
.controller('SecondCtrl',SecondCtrl);
function config($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'one.html',
controller: 'FirstCtrl as first_ctrl'
})
.when('/two', {
templateUrl: 'two.html',
controller: 'SecondCtrl as second_ctrl'
})
.otherwise({
redirectTo: '/'
});
}
function Service() {
var service = {
name: 'Clark'
}
return service;
}
function FirstCtrl(Service) {
var vm = this;
vm.name = Service.name;
vm.setName = setName;
function setName() {
console.log('new name set');
Service.name = vm.name;
}
}
function SecondCtrl(Service) {
var vm = this;
vm.name = Service.name;
}