Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重写指令';s链接函数_Javascript_Angularjs_Twitter Bootstrap - Fatal编程技术网

Javascript 重写指令';s链接函数

Javascript 重写指令';s链接函数,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,我正在开发一个应用程序,它使用优秀的。一切都很好,但我发现了一个在IE10上崩溃的插件。我正在使用主导航的折叠插件,这个插件被破坏是一件非常重要的事情,所以我需要找到一种解决方法 我真的不想侵入主图书馆。似乎我应该能够使用找到的或方法来装饰这个第三方指令,但我似乎无法让它工作 具体地说,我正试图覆盖collapse指令的link()函数中的extend()函数,以检查IE10浏览器 有没有人做过这件事或者知道怎么做 当然!您可以修饰指令并扩展它或完全覆盖它。这是一个极好的例子 最直接的方法是:

我正在开发一个应用程序,它使用优秀的。一切都很好,但我发现了一个在IE10上崩溃的插件。我正在使用主导航的折叠插件,这个插件被破坏是一件非常重要的事情,所以我需要找到一种解决方法

我真的不想侵入主图书馆。似乎我应该能够使用找到的或方法来装饰这个第三方指令,但我似乎无法让它工作

具体地说,我正试图覆盖collapse指令的link()函数中的extend()函数,以检查IE10浏览器


有没有人做过这件事或者知道怎么做

当然!您可以修饰指令并扩展它或完全覆盖它。这是一个极好的例子

最直接的方法是:

app.config(function($provide) {
  $provide.decorator('collapseDirective', function($delegate) {
    var directive = $delegate[0];

    var link = function myLinkFnOverride(scope, element, attrs) {
           // code here...
    }

    directive.compile = function() {
      return function(scope, element, attrs) {
        link.apply(this, arguments);
      };
    };

    return $delegate;
  });
});
这将完全覆盖原始链接功能(需要复制粘贴所有链接并更改所需的部分)