Привязки текста работают в нокауте, но не в шаблонах - PullRequest
2 голосов
/ 21 сентября 2011

Я только начинаю работать с knockout.js и попал в ловушку. Я могу связать текстовые переменные, но не могу ничего сделать с шаблонами. Что здесь не так?

<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
    <script src="underscore-min.js" type="text/javascript"></script>
    <script src="knockout-1.2.1.js" type="text/javascript"></script>

<script id="myTemplate" type="text/x-jquery-tmpl">
{{each objs}}
    ${var1} ${var2}<br/>
{{/each}}
</script>

<script type="text/javascript">
var myObj = function(var1, var2) {
    this.var1 = var1;
    this.var2 = var2;
}

var viewModel = {
    myText: ko.observable("See...?"),
    objs: ko.observableArray([
        new myObj("Foo","Bar"),
        new myObj("Foo","Bar")
    ])
};
</script>

<script type="text/javascript">
$(document).ready(function(){
    ko.applyBindings(viewModel);
});
</script>


</head>
<body>
<div id="main">
    This works:
    <span data-bind="text: myText"></span>
    <br/>

    There should be stuff here:
    <span data-bind="template: 'myTemplate'"></span>
    But there isn't.
</div>
</body>
</html>

Кстати, я получаю этот вывод:

This works: See...?
There should be stuff here: But there isn't. 

1 Ответ

2 голосов
/ 21 сентября 2011

Aha.Мне не хватало jquery.tmpl.min.js.

Одна вещь о документации нокаута - это очень тяжело для встроенных примеров, но трудно найти пример, который на самом деле устанавливает файлы.

...