绑定到knockoutjs动态创建的fabricjs itext

时间:2016-02-15 19:04:56

标签: javascript knockout.js fabricjs

我有一个fabricjs画布,我试图使用knockoutjs来管理文本对象的状态。单击时会有一个按钮,它会在画布中添加一个新的IText ...

但我也有一个按钮

尝试使按钮与新的IText相关联,因此当用户单击按钮时,它只会使IText变为粗体...而我正在尝试使用敲除... 因此,当文本为粗体时,按钮状态会更改以显示文本所处的状态...

无法弄清楚如何将淘汰赛与IText联系起来,因为没有html元素......我如何在JS中做到这一点?

这个jsfiddle显示了一种方法......但它不是动态创建的对象

<canvas id="c" data-bind="fabric: [ { type: 'Rect', params: rect.getParams }, { type: 'Rect', params: rect2.getParams } ]"></canvas>

感谢您的帮助......为了您的方便,我在这里制作了一个jsfiddle

https://jsfiddle.net/sarin/62ku4kyj/

1 个答案:

答案 0 :(得分:0)

您必须创建任何名称的计算observable,然后在计算的observable的函数中:1。引用observable(例如myStyle)和2.创建代码以调用结构接口。

myScratchVar = ko.computed(function() {
  var scratchStyle = self.myStyle();   // triggers this function to run
  MyFunctionToSetFabricAttributes(scratchStyle);  
  return true;   
});