在AngularJs中扩展第三方库的最佳方法

关联

我正在使用angular bootstrap ui第三方库作为我的angular应用程序中的依赖项。我只是想知道在此库中向指令和控制器添加功能的最佳方法是什么?

我知道我可以只编辑ui-bootstrap-tpls-0.11.0.js中的指令/控制器,但是如果我重新拉动构建服务器上的依赖项,它会抹去我的更改。如果我要更新库版本,它也会抹去我的更改。我正在寻找一种扩展功能的干净方法。

例如,如果我想做一些事情,例如扩展datepicker指令以接受customMethod或customData,则可以在链接函数中使用它们。做这个的最好方式是什么?

<datepicker ng-model="dt" custom-method="myCustomMethod()" 
    custom-attribute="myCustomAttribute" min-date="minDate" 
    show-weeks="true" class="well well-sm"></datepicker>

提前致谢。

尘土岩

一种选择是修饰指令。装饰看起来像:

angular.module('app', ['ui.bootstrap']).
    config(function($provide){
        // Inject provide into the config of your app
        $provide.decorator('datepickerDirective', function($delegate){

            // the directive is the first element of $delegate
            var datepicker = $delegate[0];

            // Add whatever you want to the scope:
            angular.extend(datepicker.scope, {
                customAttribute: '@',
                customMethod: '@'
            });

            // Might want to grab a reference to the old link incase
            // you want to use the default behavior.
            var oldLink = datepicker.link;

            datepicker.link = function(scope, element, attrs){
                // here you can write your new link function
                oldLink(scope, element, attrs);
            };

            return $delegate; 
        });
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在AngularJs中扩展第三方库的最佳方法

来自分类Dev

伪造第三方库中的扩展方法

来自分类Dev

在Android Studio中集成第三方库的最佳方法

来自分类Dev

Scala和第三方Java库中Akka的最佳做法

来自分类Dev

在Haskell中处理来自第三方库的数据类型的最佳实践?

来自分类Dev

在Pelican中安装第三方Markdown扩展

来自分类Dev

扩展第三方接口

来自分类Dev

如何允许第三方扩展我的Java库中的类

来自分类Dev

如何允许第三方扩展我的Java库中的类

来自分类Dev

如何向第三方库添加方法

来自分类Dev

获取Java中的第三方库版本

来自分类Dev

在Prestashop中安装第三方库

来自分类Dev

EJB-JAR中的第三方库

来自分类Dev

避免在Veracode中扫描第三方库

来自分类Dev

Singleton与第三方库

来自分类Dev

第三方库的使用

来自分类Dev

在AngularJS应用中包含第三方Javascript库

来自分类Dev

在Java Play Framework中扩展默认访问第三方方法

来自分类Dev

在Ember CLI中访问第三方库(例如D3)的正确方法?

来自分类Dev

第三方库中的通用方法限制规避

来自分类Dev

如何测试仅使用第三方库中的操作的Callable方法?

来自分类Dev

如何使用正确的dll文件在Cython C扩展中启用第三方C库?

来自分类Dev

浏览器扩展-如何在background.js文件中包含第三方库

来自分类Dev

Android Proguard-保留所有第三方库是否是最佳实践?

来自分类Dev

iOS Framework构建:与第三方库链接的最佳实践是什么?

来自分类Dev

Android Proguard-保留所有第三方库是否是最佳实践?

来自分类Dev

如何从库扩展第三方打字稿界面?

来自分类Dev

Qualtrics第三方附加最佳做法

来自分类Dev

如何在现有的第三方扩展中重写/扩展Magento类

Related 相关文章

热门标签

归档