javascript - 如何使用 AngularJS scope.$bind

标签 javascript angularjs

我有以下 Controller 可以正常工作:

function Controller() {}

Controller.prototype = {
    getResult: function(project) {
        var that = this;

        jQuery.ajax({
            async: false,
            url: "/my-service/call?project=" + project,
            dataType: "json",
            success: function(data) { 
                that.result = data;
            }
        });
    }
};

我想使用 AngularJS .scope.$bind 看看我是否可以消除“var that = this;”破解。但以下内容不起作用:

function Controller() {}

Controller.prototype = {
    getResult: function(project) {
        angular.scope.$bind(jQuery.ajax({
            async: false,
            url: "/my-service/call?project=" + project,
            dataType: "json",
            success: function(data) { 
                this.result = data;
            }
        }))();
    }
};

我错过了什么?

最佳答案

Misko Hevery 在 Angular 邮件中回复:

Controller.prototype = {
    getStuff: function(project) {
        jQuery.ajax({
                    async: false,
                    url: "/service/get-stuff",
                    dataType: "json",
                    success: angular.bind(this, function(data) {
                        this.stuff = data;
                    })
                });
    }
};

他还建议使用 angular.service.$xhr 而不是 jQuery.ajax。

关于javascript - 如何使用 AngularJS scope.$bind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6644632/

相关文章:

javascript - 向一个 jQuery/DOM 元素添加一个函数

javascript - 通过用户名使用jquery获取图像

JavaScript 对象检测 : dot syntax versus 'in' keyword

javascript - 如何在angularjs MEANSTACK-editable-select中实现级联?

javascript - AngularJs onClick 防止滚动到顶部

javascript - Jquery:选择一个 href 链接并使用 'each' 方法进行导航

javascript - 使用 flask 和 javascript 的动态事件源

angularjs - 将 JSON 数据注入(inject)/嵌入/$sanitize HTML 到 AngularJS 中

javascript - Angular.js - 如何加载不同的菜单

angularjs - DisableSingleInstance 模式下 Parse JS SDK 对象的 angular.copy 返回空对象