将Ember.js与Fabric.js这样的画布库集成在一起的正确方法是什么
What is correct way to integrate Ember.js with canvas library like Fabric.js?
我想使用Ember.js和Fabric.js构建一个餐厅餐桌管理和地板布局应用程序(如果其他画布框架能更好地支持Ember集成,我也准备考虑它们)。我已经有了一个Ember应用程序,它可以管理表的列表(即TablesRoute以显示表的列表,带有New ans Edit子例程等)和read&将它们写入JSON后端。
我需要在画布上显示表格,而不是简单的项目列表。我需要Fabric和Ember对象之间的双向绑定,即当表在画布上移动或调整大小时,我需要在Ember中更新对象属性,反之亦然。
有人能指出正确的体系结构方向吗?如何解决这个问题?
- 在哪里初始化Fabric画布元素?表格路由,应用程序路由?用哪种方法
- 画布绘图代码放在哪里?到桌子的路线?TableController?哪种方法
- 我应该为画布创建View元素吗?是否查看每个表的元素
- 如何解决双向绑定
- 有类似的示例应用程序吗
我很感激在这方面能得到的所有帮助:)
- 您可以在控制器中初始化Fabric画布元素
- 您可以将画布绘图代码放入控制器中
注1:我在以下示例代码中使用POD结构。https://www.ludu.co/course/ember
注2:我通过在项目中运行命令"bower-install-fabric--save"来安装fabric.js。
template.hbs
<div><button id="drawRect" {{action 'draw'}}>Draw Rect</button></div>
<div><canvas id="test_fabric" width="200" height="200"></canvas></div>
{{outlet}}
控制器.js
import Ember from 'ember';
/* global fabric */
// No import for fabric, it's a global called `fabric`
function drawRect() {
// create a wrapper around native canvas element (with id="test_fabric")
var canvas = new fabric.Canvas("test_fabric");
// create a rectangle object
var rect = new fabric.Rect({
left: 100,
top: 100,
fill: 'red',
width: 20,
height: 20
});
// "add" rectangle onto canvas
canvas.add(rect);
}
export default Ember.Controller.extend({
actions: {
draw: function() {
//
drawRect();
}
}
});
注意:不要忘记在模块中添加/*全局结构*/,让JSHint感到高兴。http://ember-cli.com/user-guide/#managing-依赖
相关文章:
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 安全地包装JS文件,这样当它们连接在一起时,它们仍然可以工作
- 如何将遗留的js文件与webpack捆绑在一起
- 我可以把所有的javascript.js文件捆绑在一起吗
- 在ramda.js中将两个属性合并在一起
- Twig PHP Renderer 和 Tempo JS Renderer 在一起
- 可排序的 Js 在带有选择/选项标签的 chrome 中不起作用,但与 ul/li 标签一起工作
- 节点.js将我的模块连接在一起而不会变得一团糟
- 将js应用程序与webpack捆绑在一起,以获得wordpress插件
- 如何使用 jquery.cxtmenu.js 插件与 cytoscape.js 打包在一起
- 三.js - 将WebGL和CSS3D与iFrame混合在一起
- 按字母表列出,将条目较少的字母组合在一起(PHP或JS)
- 将Ember.js与Fabric.js这样的画布库集成在一起的正确方法是什么
- JS的新手,尝试将Rock Paper Scissors游戏组合在一起
- 如何将未缩小和缩小的js文件与browserfy捆绑在一起
- JS字符串将来自多个文本框的文本输入组合在一起
- 在Node js中串在一起的各种DB调用的最佳方法
- 在Node JS中,Require Express和HTTP在一起和分开有什么区别?
- jQuery.如何将JS变量与标签文字组合在一起?
- 如何使用Unix |管道将Node.js脚本连接在一起(在命令行上)