Angular typescript指令,jqueryLite addClass到body元素

时间:2016-11-14 17:29:29

标签: jquery angularjs directive

我正在使用typescript

创建一个角度指令

该指令是一个包含信息的简单div。

单击div时会打开一个模态。

我想在点击div时为body标签添加一个类。

我以为我可以使用指令的Link功能来做到这一点,但我想我可能会尝试做一些不可能的事情

此代码将“clicked”类添加到单击的div中,但是可以将该类添加到页面上的另一个元素,如body标记

    (()=>{

        class MyDirective implements ng.IDirective{

            public restrict = "E";
            public scope = {};
            public controller = "MyController";
            public controllerAs = "MyCtrl";
            public bindToController = true;
            public templateUrl = "MyOutput.html";
            public link: (scope: ng.IScope, element: ng.IAugmentedJQuery, attrs: ng.IAttributes) => void;

            constructor() {

                MyDirective.prototype.link = (scope: ng.IScope, element: ng.IAugmentedJQuery, attrs: ng.IAttributes) => {
                    element.on('click', function(){
                        element.addClass('clicked');
                        //$('body').addClass('clicked'); // trying to add class to body element
                    })
                };
            }

        }

        angular.module('myMod').directive('myDirective', ()=>new MyDirective());
    })();

0 个答案:

没有答案