这就是我的 Angular 应用程序的样子。
(function () {
"use strict";
angular
.module("app")
.controller("custCtrl", custCtrl);
custCtrl.$inject = ['dataService','custFactory'];
/* @ngInject */
function custCtrl(dataService, custFactory) {
var vm = this;
//line##
vm.customer= custFactory.Create('customer');
GetCustomers();
function GetCustomers() {
dataService.read().then(function (data) {
vm.customer = data.fields;
}
});
}
return vm;
}
})();
工厂方法
(function () {
'use strict';
angular
.module('app.factory')
.factory('custFactory', custFactory);
custFactory.$inject = ['$q'];
/* @ngInject */
function custFactory($q) {
var _create = function (type) {
var obj = {};
switch (type.toString().toLowerCase()) {
case "customer":
obj = new Customer();
break;
default:
obj = null;
}
return obj;
}
return {
Create: _create
};
}
})();
查看模型
function Customer()
{
var dto = this;
dto.Customer = {
"Name" : "",
"Gender" : "", // & so on
}
return dto;
}
如果您custCtrl
在//line## 上检查我的上述内容,我正在调用工厂方法来实例化客户对象,如下所示。
vm.customer= custFactory.Create('customer');
但是,如果我不创建客户 VM 和工厂并简单地分配一个空字符串,如下所示。
vm.customer= {};
仍然可以正常工作。
所以我的问题是我为什么要创建一个虚拟机和工厂?它有什么好处??