Sono nuovo in Durandal e volevo riscrivere il mioprogetto knockout esistente utilizzando questo framework. Nel mio vecchio progetto sto usando un plug-in per il mapping di knockout e ora ho un problema con esso. Lavoro con il progetto di esempio Durandal come base. Ecco la mia parte di codice:
define(["durandal/app", "durandal/system", "knockout"], function (app, system, ko) {
var clients = ko.observableArray([]);
return {
clients: clients,
activate: function(data) {
var self = this;
ko.mapping.fromJS(getData(), {}, self.clients);
}
};
};
L'errore è:
Uncaught TypeError: impossibile chiamare il metodo "fromJS" di undefined
In effetti, è indefinito, ma dove dovrei aggiungerlo e farlo funzionare?
Grazie.
risposte:
0 per risposta № 1Dovresti aggiungere il plugin per la mappatura nel define
altrimenti non lo caricherà.
define(["durandal/app", "durandal/system", "knockout", "knockout-mapping"], function (app, system, ko) {
Assicurati di poter caricare questo script in questo modo nella configurazione di requirejs.
Ti suggerisco di caricare Knockout e il plugin di mappatura nel main.js
quindi non è necessario continuare a "richiederli" in tutti i modelli di visualizzazione. Puoi anche raggrupparli separatamente e non far parte del caricatore.