【问题标题】:Separate models from controllers将模型与控制器分开
【发布时间】:2013-05-09 14:57:52
【问题描述】:

我有这样的东西-

function DetailCtrl($scope) {
    $scope.persons = [{
        id: 1,
        name: "Mark"
    }];        
}

我想将模型与控制器分开,就像这样 -

    //models
    var person = { id: '', name: '' };

    function DetailCtrl($scope) {
       person = db.getPerson();
       $scope.person = person;
    }

这是 angularjs 的好习惯吗?我来自 ASP.NET MVC 背景。

【问题讨论】:

  • 这是个坏主意。 Angular 在视图和控制器之间维护了一个双向绑定(视图模型)。将模型与控制器分离打破了这种动态。
  • 这是一个最佳实践想法——模型应该被范围/控制器引用,而不是包含在其中(见我的回答)。

标签: angularjs


【解决方案1】:

是的,最佳做法是将您的模型放在别处,并让您的示波器参考您的模型:listen to 2 minutes of Misko 来自他的“最佳做法”视频。

服务是存储模型的好地方。
布兰登对此有一个很好的答案:https://stackoverflow.com/a/14667066/215945

【讨论】:

  • 谢谢。我在服务中添加了我的模型,效果很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多