在我的 Controller 中,我将一个名为“url”的参数传递给 View 。这已成功传递到初始化函数中。接下来,当我创建模型时,我想将相同的参数传递到模型中以用作 rooturl。
以下是我尝试过的方法,但收到以下错误消息:
A "url" property or function must be specified
这似乎参数没有传递到模型(未定义)或者我没有在模型中正确调用它。 我在这里做错了什么?
注意:初始化函数 View 中的console.log(options.url)确认参数已成功从 Controller 传递到 View ,问题是从 View 到它所在的模型未定义。
Controller :
var myview = new NewView({
url:"api/"
})**
查看:
var myview = Backbone.Marionette.ItemView.extend({
initialize: function (options) {
this.url = options.url;
this.model.fetch();
},
model: new myModel({
url: this.url
}),
我的模型:
var myModel = Backbone.Model.extend({
urlRoot: function(){ return this.get('url') }
});
最佳答案
您正在尝试使用空网址获取模型。
当您调用时:
initialize: function (options) {
this.url = options.url;
this.model.fetch();
}
fetch
此处,您没有模型的 url。所以,你可以这样做:
initialize: function (options) {
this.url = options.url;
this.model.set({url: this.url});
this.model.fetch();
}
关于javascript - Backbone 将参数传递给模型 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20004615/