Aşağıdakiler sizin için bir iş yapacaktır. İdeal değil, ama üzerinde çalışmak için bir platform vermelisin.
İlk önce, Knockout'daki her şey bir görünüm modeline bağlanır. 3 div'un görünürlüğünü kontrol edebilmek istiyorsanız, işte size uygun bir model sunuyoruz. Dediğim gibi, mükemmel değil Sen için işaretlemenizi değiştirmeniz gerekir :)
var buttonVm = new function(){
var self = this;
// Flags for visibility
// Set first to true to cover your "first should be open" req
self.button1Visible = ko.observable(true);
self.button2Visible = ko.observable(false);
self.button3Visible = ko.observable(false);
self.toggle1 = function(){
self.button1Visible(!self.button1Visible());
}
self.toggle2 = function(){
self.button2Visible(!self.button2Visible());
}
self.toggle3 = function(){
self.button3Visible(!self.button3Visible());
}
}
: - şeylerin
<!-- events here. When clicked call the referenced function -->
<button type="button" data-bind="click: toggle1">Button 1</button>
<button type="button" data-bind="click: toggle2">Button 2</button>
<button type="button" data-bind="click: toggle3">Button 3</button>
<!-- Visibility set here -->
<div data-bind="visible: button1Visible"> Div 1 </div>
<div data-bind="visible: button2Visible"> Div 2 </div>
<div data-bind="visible: button3Visible"> Div 3 </div>
Çift burada dikkat edilmesi gereken. İlk olarak, tip özniteliğini ekledim. Bu olmadan, düğmenin varsayılan davranışı formunuzu denemek ve göndermek olacaktır.
// Create view model
var vm = new buttonVm();
ko.applyBindings(vm);
"UserOptionVM" gibi bir alt görünümü modelinin örneklerini üzerinden bir foreach döngüsünün kanalıyla verilen bu düğmeler ve karşılık gelen birer bölümdür, yoksa onlar sadece önceden kodlanmıştır: -
hepsini meşgul ediyor? –
Tanrılar kodlanmış. – StackOverflow