Ich bin ziemlich neu in Backbone und habe mich gefragt, wie man auf Daten und Funktionen eines Modells von einer Ansicht aus zugreifen kann, die das Modell als Abhängigkeit einfügt.Backbone: Daten und Funktionen des Modells in der Ansicht verwenden
Mein Modell sieht wie folgt aus:
countries.coffee
define [
'underscore'
'backbone'
'parse'
], (_, Backbone, Parse) ->
'use strict';
class CountriesModel extends Parse.Object
countries: ['GB','US','FR','JP','WL','ZM','NG']
returnCode = (code) ->
return code
Und meiner Meinung nach sieht wie folgt aus:
country.coffee
define [
'jquery'
'underscore'
'backbone'
'templates'
'models/projects'
'models/countries'
], ($, _, Backbone, JST, CountriesModel, ProjectModel) ->
class CountryView extends Backbone.View
...
console.log countries
returnCode(4)
I bin ich Injizieren des CountriesModel
als Abhängigkeit, aber wenn ich die Funktion aufrufen oder die countries
log ich die folgende Fehlermeldung erhalten:
Uncaught ReferenceError: returnCode is not defined
ich nicht herausfinden können, was mache ich falsch. Jede Hilfe wird geschätzt. Danke im Voraus!
UPDATE
ich den Code oben aktualisiert haben ein bisschen mehr Kontext.
Ich versuche, ein wiederverwendbares Modell (CountriesModel
) zu erstellen, so dass ich auf dieses countries
Array und die returnCode
Funktion auf verschiedenen Ansichten über meine App zugreifen kann. Aber ich kann nicht herausfinden, wie man auf sie auf meinem CountryView
zugreift.
Mein CountryView
wird benötigt schon ein Modell ProjectModel
, und ich bin in der Lage aus ProjectModel
wie diese Funktionen und Arrays zu nennen:
this.model.exampleArray
this.model.exampleFunction()
Ich kann nicht herausfinden, wie ich Funktionen oder Arrays von meinem CountriesModel
aufrufen.
Wer weiß, was ich falsch mache?
Nicht sicher, was Sie mit "injizieren" meinen, Sie benötigen in dem Modell und instanziieren es in der Ansicht? Das ist in Ordnung, und Sie könnten darauf zugreifen, was Sie wollen. Sie haben den wichtigen Teil des Codes nicht gezeigt, so dass ich nicht sehen kann, was Sie falsch gemacht haben. –
@DominicTobias Entschuldigung, ich meinte, wie Sie sagten und instanziieren. Ich habe den Code aktualisiert, um ein wenig mehr Kontext zu bieten. – realph
Ich denke, dass Sie die Reihenfolge Ihrer Abhängigkeiten im Beispiel ändern müssen, sollte sein: '($, _, Backbone, JST, ProjectModel, CountriesModel)'. –