我碰到與KnockoutJS和jCanvas有關的另一個問題。我的模型和ViewModel:在鼠標懸停事件中顯示來自KnockoutJS的指定數據jCanvas
eventsModel = function() {
var self = this;
self.events = ko.observableArray([]);
}
eventItemViewModel = function(o) {
var self = this;
self.BeginInMinutes = ko.observable(o.BeginInMinutes);
self.EventDuration = ko.observable(o.EventDuration);
self.Type = ko.observable(o.Type);
self.ReferenceNumber = ko.observable(o.ReferenceNumber);
self.FullDescription = ko.computed(function() {
var eventType = self.Type() == '0' ? 'Driving' : 'Resting';
var hour = Math.floor(self.BeginInMinutes()/60);
var minutes = Math.floor(self.BeginInMinutes() % 60) < 10 ? '0' + Math.floor(self.BeginInMinutes() % 60) : Math.floor(self.BeginInMinutes() % 60);
return hour + ':' + minutes + " " + eventType + " " + self.EventDuration();
}, this);
};
var events = new eventsModel();
ko.applyBindings(events);
我認爲這應該足夠了。基本上,我想在畫布上方顯示此FullDescription,但問題在於它包含在數組中。在畫布上,我有一些圖紙,並且所有的屬性都與畫布中的矩形連接。我想要做的事情是這樣的:在jCanvas中的矩形的mouseover事件我想在canvas上方以純文本形式顯示fullDescription。
我使用knockout data-bind foreach等顯示錶中的一些信息,但現在我想從整個集合中顯示這一個指定的信息。我試過,如果綁定,但它不工作。
我的畫布:
<canvas id="myCanvas" width="1000" height="300"></canvas>
也許我剛纔的問題有一些信息居停:Knockout observablearray of observables with arrayMap function
我敢肯定,它應該是一些簡單的方法來獲得只有從數組指定的字段。
謝謝。
但基本上它會工作,如果我想顯示多個畫布,每個數組中的每個元素。請注意,我的目標是讓一個畫布中有隨機數量的矩形(從1-15),當鼠標放在這個矩形之一上時,我想在畫布上方顯示它的描述。 – zari