如何在淘汰賽中將當前對象從模板傳遞到函數。這裏是代碼:Knockout.js:將當前對象從jQuery模板傳遞到函數
<div data-bind="foreach: people">
<p>
<b data-bind="click: $root.check, text : name"></b>
</p>
</div>
<div data-bind="template: 'peopleList'"></div>
<script type="text/html" id="peopleList">
{{each people}}
<p>
<b data-bind="click: $root.check">${name}</b> is ${age} years old
</p>
{{/each}}
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="jquery.tmpl.min.js"></script>
<script src="knock.js"></script>
<script>
var viewModel = function() {
this.people = ko.observableArray([
{ name: 'Rod', age: 123 },
{ name: 'Jane', age: 125 },
]);
this.check = function (val) {
console.log('current value', val);
}
}
ko.applyBindings(new viewModel());
</script>
如果我從模板外點擊,查看作品excpected,它打印當前的對象,但如果我點擊裏面的模板支票打印視圖模型對象。爲什麼?點擊:$ root.check在第一種情況下打印ex對象{名稱:「簡」,年齡:125},在第二種情況下打印模型視圖模型{}
請編輯答案和解釋你如何解決這個問題。 – Onik
我剛將它改爲淘汰賽模板... –