骨干传递参数到模型URL

Pro*_*eus 2 javascript backbone.js marionette

在我的控制器中,我将一个名为"url"的参数传递给视图.这成功传递给initialize函数.接下来,当我创建模型时,我想将相同的参数传递给模型以用作rooturl.

以下是我尝试但我收到以下错误消息:

A "url" property or function must be specified 
Run Code Online (Sandbox Code Playgroud)

这似乎没有传递给模型的参数(未定义)或者我没有在模型中正确调用它.我在这里做错了什么?

注意:初始化函数视图中的console.log(options.url)确认参数已成功从控制器传递到视图,问题是从视图到未定义的模型.

控制器:

var myview = new NewView({
           url:"api/"
       })**
Run Code Online (Sandbox Code Playgroud)

视图:

  var myview = Backbone.Marionette.ItemView.extend({

        initialize: function (options) {
            this.url = options.url;
            this.model.fetch();
        },


    model: new myModel({
            url: this.url
        }),
Run Code Online (Sandbox Code Playgroud)

基于myModel:

var myModel = Backbone.Model.extend({
  urlRoot: function(){ return this.get('url') }

});
Run Code Online (Sandbox Code Playgroud)

Leo*_*osa 5

您正在尝试使用空网址获取模型.

你打电话的时候:

initialize: function (options) {
  this.url = options.url;
  this.model.fetch();
}
Run Code Online (Sandbox Code Playgroud)

fetch在这里,你没有模型的网址.所以,你可以这样做:

initialize: function (options) {
  this.url = options.url;
  this.model.set({url: this.url});
  this.model.fetch();
}
Run Code Online (Sandbox Code Playgroud)