AngularJS - 在哪里放置第三方插件默认值?

时间:2016-04-12 09:15:06

标签: javascript angularjs optimization

假设我们有第三方插件,我们可以将一些选项设置为属性值。

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

我想让控制器保持尽可能薄,但移动这个对象的最佳位置是什么?在这样的情况下,什么被认为是好的做法?

1 个答案:

答案 0 :(得分:2)

对于此类数据,创建服务通常是可行的方法。这提供了配置数据的集中源,可以注入需要使用它的任何组件。

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

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