在jquery代码中访问角度范围

时间:2014-10-22 07:50:19

标签: jquery angularjs angularjs-scope

希望我不会重复现有的问题...... 我正在尝试访问我的服务中附加到“this”的函数, 但是我必须从jQuery的事件绑定中做到这一点。

但是我从angular中得到了“undefined is not a function”的错误。

代码:

app.service("whatever",function(){

this.instantiatePreIds = function () {
    /**whatever code**/
}

this.checkOnLoad = function () {

    angular.element(window).bind("popstate", function (e) {

        this.instantiatePreIds(); /***this row throws that error***/

    });
 }
});

有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:0)

好的,我明白了!! 我所要做的就是将范围的引用捕获到var中,然后使用它。

/*inside the service*/

var ref=this;

this.checkOnLoad = function () {

    angular.element(window).bind("popstate", function (e) {

        ref.instantiatePreIds(); 

    });
 }

YESSS!