2013-05-09 111 views
4

我有这样的事情 -独立模型

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背景。

+1

这是一个坏主意。 Angular在视图和控制器之间维护一个双向绑定(视图模型)。将模型与控制器分离可以打破这种动态。 – 2013-05-09 15:14:30

+2

这是一个最佳实践的想法 - 模型应该由范围/控制器引用,不包含在它们中(请参阅我的答案)。 – 2013-05-09 15:38:27

回答

3

是的,最佳做法是在其他地方放置您的模型,并让您的示波器参考您的模型:listen to 2 minutes of Misko从他的“最佳实践”视频。

服务是一个存放模型的好地方。
布兰登有一个很好的回答与此相关:https://stackoverflow.com/a/14667066/215945

+0

谢谢。我在服务中添加了我的模型,效果很好。 – tempid 2013-05-17 02:32:25