2016-04-12 73 views
2

假設我們有一個第三方插件,我們可以將一些選項設置爲屬性值。AngularJS - 在哪裏放置第三方插件的默認值?

<button options="prop.options"> 

在控制器中,我們有:

/** 
* More about $scope.prop 
* - No need to access $scope 
* - It should access $window 
* - It's pretty large object (e.g. 100 lines) 
*/ 
$scope.prop = {options: {}}; 

我想保持控制儘可能薄,但什麼是推動這一目標的最佳地點?在這種情況下,什麼被認爲是良好的做法?

回答

2

對於這種類型的數據,創建服務往往是最佳選擇。這提供了一個集中的配置數據源,並且可以注入任何需要使用它的組件。

app.service('pluginOptions', function($window) { 
    return { 
     options: { 
      prop1: 'x' 
      prop2: 'y' 
     } 
    }; 
}); 

app.controller('myCtrl', function(pluginOptions, $scope) { 
    $scope.prop = pluginOptions.options; 
}); 
相關問題