/ / ko não está definido com requirejs - knockout.js, requirejs

ko não está definido com requirejs - knockout.js, requirejs

Eu estou tentando usar requirejs para carregar knockoutjs da seguinte maneira:

<script type="text/javascript">
require(["scripts/knockout-2.2.1.debug"], function() {
var someModel = {
firstname: ko.observable("asd")
};
ko.applyBindings(someModel);
});
</script>

Onde require.js é carregado usando uma tag de script na parte superior. Quando este código é executado, recebo um ko não está definido erro. Qual é a maneira correta de fazer semelhante?

Respostas:

5 para resposta № 1
require(["scripts/knockout-2.2.1.debug"], function(ko) {

Eu não tenho certeza, mas vendo o exemplo em requirejs, eu acho que estes são carregados dentro do escopo dessa função de retorno de chamada. Então, a menos que você aceite isso em sua função, você não pode usá-lo.

Sim, você está certo (pelo menos, vendo o exemplo deles). Se você incluir 4 bibliotecas, precisará aceitar 4 parâmetros. Por exemplo, se você carregou jquery e knockout, pode escrevê-lo da seguinte maneira:

require(["scripts/jquery.js", "scripts/knockout-2.2.1.debug"], function($, ko) {