Angularjs Angular.js控制器命名方法
我正在AngularV1.x中开发一个应用程序,具有以下场景Angularjs Angular.js控制器命名方法,angularjs,controller,modal-dialog,Angularjs,Controller,Modal Dialog,我正在AngularV1.x中开发一个应用程序,具有以下场景 用户(卖方)可以向买方提供商品 用户(买方)可以接受或拒绝报价 当用户点击添加优惠(1)或(2)决定优惠时,我使用的是注入应用程序的模式服务。例如: app.controller('SampleController', ["$scope", "ModalService", function($scope, ModalService) { $scope.showAModal = function() { // Just
app.controller('SampleController', ["$scope", "ModalService", function($scope, ModalService) {
$scope.showAModal = function() {
// Just provide a template url, a controller and call 'showModal'.
ModalService.showModal({
templateUrl: "yesno/yesno.html",
controller: "YesNoController"
}).then(function(modal) {
modal.element.modal();
modal.close.then(function(result) {
$scope.message = result ? "You said Yes" : "You said No";
});
});
};
}]);
对于每个模式,我可以设置使用的控制器。我最初的想法是两个情态动词都使用一个“offersController”,它将处理两种情况下的逻辑。但对于每种情况,必须对REST服务进行不同的api调用以获取初始视图变量。例如:
- 当买家希望看到收到的所有报价时,会拨打电话
- 在第一个场景中,当用户提供报价时,不需要当前报价
似乎我的控制者就是他们自己的行为,这让我怀疑我的方法。我应该以不同的方式来处理这个问题吗?根据控制器的命名约定,如果您选择一个能从字面上描述控制器功能的名称会更好。 我建议您选择控制器名称为[action][Type][controller]。 在这种情况下,AddOffersController和DecideOffersController将是一个合适的名称。根据您的描述
html
文件名,比如offerConfirmation.html
。因为,我们也在展示报价。目前您使用的是yesno.html
对于控制器名称,我认为我们可以使用如下内容:
buyerConfigmationController
SellerConfigurationController
offersAddController
和offersdecisecontroller
这样的名字对于一些新开发人员来说是不言自明的,除非他知道卖家可以添加,而买家将决定。(尽管听起来很明显)
我知道为一个用户(卖方/买方)了解添加和决定可能听起来很明显,但未来角色可能会变得更复杂(或者如果我们与一些特殊领域相关的用户打交道,我们需要在接触代码之前了解用户角色)。保持控制器名称尽可能明确将有助于任何新的开发人员直接跳转到特定的控制器并进行必要的更改。嗨,艾伦,请看我的答案,让我知道你的想法。我可能不完全正确,但我试图根据我对你问题的理解来解释。请随意对我的答案发表评论,我们可以进一步讨论并修改我的答案。因此,使用两个不同的控制器而不是一个控制器是否正确?控制器名称似乎在某种程度上描述了动作。这就是角度的工作原理。我来自PHP背景,我希望控制器只是模型控制器的控制器。这是一个没有在Angular中使用的约定吗?是的,没有这样的标准命名约定,但是作为一个好的实践,它应该解释它将控制什么动作。