2016-04-12 27 views
2

Nitelik değeri olarak bazı seçenekleri belirleyebileceğimiz üçüncü taraf bir eklentimiz olduğunu varsayalım.AngularJS - üçüncü taraf eklenti varsayılanları nereye yerleştirilir?

/** 
* 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: {}}; 

mümkün olduğunca ince olarak denetleyici tutmak isterdim ama bu nesneyi taşımak için en iyi yer ne: denetleyici olarak

<button options="prop.options"> 

Elimizdeki? Böyle durumlarda iyi uygulama olarak kabul edilir?

cevap

2

Bu tür veriler için, hizmet oluşturmak genellikle yoldur. Bu, yapılandırma verilerinizin merkezi bir kaynağını sağlar ve hangi bileşenin onu kullanması gerektiğine enjekte edilebilir.

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

app.controller('myCtrl', function(pluginOptions, $scope) { 
    $scope.prop = pluginOptions.options; 
}); 
İlgili konular