我碰到与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