I do something similar already. The problem is there are an awful lot of
dependencies that I really don't want to refactor to use my custom base
class.
Everything seems perfect as soon as your willing to refactor the world.
On Monday, January 13, 2014 3:06:31 AM UTC-8, Todd Adams wrote:
>
> When developing directives I separate all of the functionality from the
> directive. Then the functional code can be combined into a common set of
> directive functions.
> Not strictly inheritance, but a nice way to develop business logic, then
> extend it into one or more directives.
>
> (function (angular, myDirectiveBase) {
> 'use strict';
> var _config, // configuration settings
>
> //* Link the scope of this directive to it's events
> _link = function (scope, element, attributes) {
> angular.extend(scope, {
> //fields
> foo:0,
> // methods
> stuffClicked: function(value) {
> myDirectiveBase.stuffHappensEventHandler(scope, value);
> }
> });
> },
>
> // Directive constructor
> _directive = function (service) {
> _config = service.config;
> return {
> template: "<div ng-click=\"stuffClicked()\">A really cool
> template<\/div>",
> restrict: 'E',
> replace: true,
> link: _link
> };
> };
>
> // define the injected modules for this directive
> _directive.$inject = [
> 'someService' // contains config settings for this directive
> ];
> // assign this as an angular directive
>
> angular.module('SecurePortal').directive('reportingDashboardSummaryReports',
> _directive);
> })(angular,myDirectiveBase);
>
>
>
> On Sunday, January 12, 2014 5:08:45 PM UTC, Ben Greer wrote:
>>
>> I'm trying to figure out how one might extend functionality to all
>> directives, or at least all in a given module.
>>
>> I have one example use case, 'initialize an empty element of the same
>> name as the directive, to get around IE's weak html5 compatibility', but
>> there are many others.
>>
>>
>> So far I've only come up with 2 ways to accomplish anything close to this:
>>
>> https://gist.github.com/wishfoundry/8387418
>> https://gist.github.com/wishfoundry/8387308
>>
>> The first is quite hacky, and would not apply to module dependancies. The
>> second is less hacky but only selects one component.
>>
>> Is there a more angular way to do this, or this worth a feature request?
>>
>>
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/groups/opt_out.