最初のタブがすべてのステーションの概要を保持し、ステーションをクリックすると新しいタブが開き、ノックアウトコンポーネントが表示されるブートストラップタブを使用した簡単な例に取り組んでいます。テンプレートを正常にレンダリングし、初期データ (Hello World) をレンダリングしていますが、.getJSON の後ではなく、何らかの理由でノックアウトが DOM を更新していないため、console.log を介してサーバーの応答を確認できました。
ko.components.register('tab-details', {
template: '<span data-bind="text: brief"></span>',
viewModel: function (params) {
var self = this;
self.brief = ko.observable('Hello World');
console.log(ko.toJSON(this.stations));
var url = "http://localhost:3000/stationapi?id=" + params.id;
$.getJSON(url, function (data) {
self.brief = data.stations.content.brief;
});
}
});
ko.applyBindings();
ul.nav.nav-tabs(id="tabs")
li.active
a(href='#tab2', data-toggle='tab') Map
span x
.tab-content
#tab2.tab-pane.active
tab-details(params = "id: '542e3206647fcbc00fa327c9'")