modello widget knockout modello requirejs html

Sto implementando l’esempio di widget per knockout http://knockoutjs.com/documentation/component-overview.html

caricamento del modello da html esterno con requirejs non funziona per me

ko.components.register('like-or-dislike', { template: { require: 'text!files/component-like-widget.html' } 

});

inserisco il codice HTML contenente il modello in html esterno. sostituire “files /” con il mio percorso relativo “/ views / _leyout” e non funziona ho bisogno di un file text.js che carichi l’html? qualche esempio?

La risposta dell’utente3144678 è corretta. Dovresti includere un plug-in di testo all’interno del tuo progetto. Giusto per chiarire come usarlo, ho fatto un semplice progetto:

struttura del progetto:

 project |-- index.html |-- app.js `-- content `-- some-content.html 

index.html:

        

app.js:

 requirejs.config({ paths: { "text": "http://cdnjs.cloudflare.com/ajax/libs/require-text/2.0.12/text" } }); requirejs(["text!content/some-text.html"], function (text) { alert(text); }); 

some-content.html:

 
just some text

il risultato sarà avvisato con “solo un po ‘di testo” all’interno.

“text.js” è un plugin che puoi scaricare dalla homepage di require. Per me, il modo migliore per eseguire la configurazione dei componenti knockout è il seguente:

config.js

 define(['ko'], function (ko) { ko.components.register('component-name', { require: 'components/viewmodels/component-name' }); }); 

Component-name.js

 define(['ko', 'text!components/templates/component-name.html'],function (ko, template) { var vm = function (params) { }; return { viewModel: vm, template: template }; }); 

Spero che sia d’aiuto 🙂