デフォルトオプションを使用したAngularJSディレクティブ
私はangularjsから始めて、いくつかの古いJQueryプラグインをAngularディレクティブに変換する作業をしています。(要素)ディレクティブのデフォルトオプションのセットを定義したいのですが、属性にオプション値を指定することでオーバーライドできます。 私は他の人がこれを行った方法を見回してきました、angular-uiライブラリではui.bootstrap.paginationが同様のことをしているようです。 最初に、すべてのデフォルトオプションが定数オブジェクトで定義されます。 .constant('paginationConfig', { itemsPerPage: 10, boundaryLinks: false, ... }) 次に、getAttributeValueユーティリティ関数がディレクティブコントローラにアタッチされます。 this.getAttributeValue = function(attribute, defaultValue, interpolate) { return (angular.isDefined(attribute) ? (interpolate ? $interpolate(attribute)($scope.$parent) : $scope.$parent.$eval(attribute)) : defaultValue); }; 最後に、これはリンク関数で属性を読み込むために使用されます。 .directive('pagination', ['$parse', 'paginationConfig', function($parse, config) { ... controller: 'PaginationController', link: function(scope, element, attrs, paginationCtrl) { var boundaryLinks = paginationCtrl.getAttributeValue(attrs.boundaryLinks, config.boundaryLinks); …