我有迪朗達爾插件和兩個syncfusion按鈕:迪朗達爾部件內功能範圍和背景
view.html
<div class="group-btn-container">
<input type="checkbox" data-bind="ejToggleButton: toggleButtonNo" />
<input type="checkbox" data-bind="ejToggleButton: toggleButtonYes" />
</div>
viewmodel.js
define(['knockout', 'jquery','web/ej.togglebutton.min', 'common/ej.widget.ko.min'], function (ko, $) {
var ctor = function() { };
ctor.prototype.activate = function (settings) {
self = this;
var toggleBtnYes = {
toggleState: ko.observable(false),
click: function (args) {
self.toggleButtonNo.buttonOptions.toggleState(false);
args.model.toggleState(true);
}
}
self.toggleButtonYes = toggleBtnYes;
var toggleBtnNo = {
toggleState: ko.observable(true),
click: function (args) {
self.toggleButtonYes.buttonOptions.toggleState(false);
args.model.toggleState(true);
}
}
self.toggleButtonNo = toggleBtnNo;
};
return ctor;
});
兩個按鈕'是的「和」否「應該像單選按鈕一樣工作,當一個打開時,另一個應該關閉。問題1:我有一個viewodel上下文或範圍問題。 裏面的點擊功能我沒有看到'自我',實際上自己總是一些另外的部件,因爲在一個循環中我渲染了幾個部件,我不知道爲什麼自己不是我的功能ctor?
Q2:另外,當我想直接從點擊函數接近對象'toggleBtnNo'或'toggleBtnYes'時,它們沒有被定義。爲什麼我在內部'點擊'功能中看不到來自全局函數ctor的對象?
我只是不知道如何接近按鈕(在一個或其他方式)從我的點擊功能如何可以改變它的狀態?
謝謝你的回答。你是對的我在淘汰賽中犯了錯誤,沒有做applyBindings。但是我的問題是,自我/這不是我自己的功能,那麼其他人仍然在這裏。我不確定,但那是Durandal問題。也許我沒有正確地構建'ctor'功能。在你的例子中,我也遇到了一個問題。 – Milos