自1.3.1以来AngularJS非常擅长SVG编写。主要是交互是1.数据库或某种形式给出数据 - > Angular将节点推入SVG。现在我希望能够不需要单独的表单来与数据交互,而是通过单击其绘制的SVG文本元素直接更改某个变量的值。我尝试直接在Text节点上使用contenteditable,但是没用。有可能吗?
答案 0 :(得分:2)
我写了一条指令:http://jsfiddle.net/michaschwab/68dtgcu3/1/
而不是例如<text x="20" y="70" fill="red">{{foo}}</text>
你使用这些额外的标签:
<text x="20" y="70" fill="red" ng-model="foo" content-editable>{{foo}}</text>
这将自动在Text节点顶部添加contentEditable div,以便您无法看到它。更改新的div将允许您直接编辑模型。有一些小错误:
希望它有所帮助!