gpt4 book ai didi

javascript - 如何调用 Backbone 集合内部的方法

转载 作者:行者123 更新时间:2023-11-30 10:01:43 25 4
gpt4 key购买 nike

我是 Backbone.js 的新手,甚至是 Javascript 的新手,不确定如何用短语表达我的问题,我想要调用一个函数并将结果作为同一集合中的属性返回。

var EnrollmentCollection = Backbone.Collection.extend({

url: "/some/prefix" + this.getPath() + "/some/suffix",

getPath: function() {
var result;

$.ajax({
type: 'GET',
url: '/this/is/a/url',
async: false,
dataType: 'json',
success: function(data) {
result = data[0].someattribute;
}
});

return result;
}
});

如您所见,getPath() 方法应该返回一个值作为 url 的值,但是,浏览器给出以下错误:

Uncaught TypeError: Cannot read property 'getPath' of undefined(anonymous function)

感谢任何帮助。

最佳答案

使用您正在使用的代码:

url: this.getPath(),

您正在执行函数 this.getPath() 但它尚不存在,因为它在下面定义。

尝试做

url: (function(){
var result;

$.ajax({
type: 'GET',
url: '/this/is/a/url',
async: false,
dataType: 'json',
success: function(data) {
result = data[0].someattribute;
}
});

return result;
}())

关于javascript - 如何调用 Backbone 集合内部的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31281913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com