簡體   English   中英

主干將參數傳遞到模型url

[英]backbone passing parameters to a model url

在我的控制器中,我將名為“ url”的參數傳遞給視圖。 這已成功傳遞到初始化函數。 接下來,當我創建模型時,我想將相同的參數傳遞給模型以用作rooturl。

以下是我嘗試過的操作,但收到以下錯誤消息:

A "url" property or function must be specified 

似乎參數沒有傳遞給模型(未定義),或者我沒有在模型中正確調用它。 我在這里做錯了什么?

注意:初始化函數視圖中的console.log(options.url)確認參數已成功從控制器傳遞到視圖,問題出在視圖到未定義模型的模型。

控制器:

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
        }),

基於myModel:

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

});

您正在嘗試使用空網址獲取模型。

你打電話時:

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

在此處fetch ,您沒有該模型的網址。 因此,您可以執行以下操作:

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

寫作時

model: new myModel({
        url: this.url
    }),

該視圖尚未初始化

您可以在視圖的initialize方法中實例化模型

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM