0

我正在开发一个简单的就地编辑指令。我的目标是使用指令内容(表单)作为模板,并将输入字段更改为标签。单击表单时,指令应将其替换为原始编辑器内容。

我创建了一个plunk。在这里检查。

它第一次绑定其数据,但不再绑定它们。

我的问题:我的概念有什么问题?如何修复它以破坏预期的行为?

任何帮助或评论都值得赞赏。我被困在这里了。谢谢。

4

1 回答 1

3

您应该在指令中使用 ng-click 而不是直接使用 onclick 事件处理程序,这样您的所有更改都将保留在角度事件循环中,因此通过执行

   template: '<div class="readonly-item" ng-transclude ng-click="switchForm()"></div>',

并删除您的 onclick enevet 处理程序分配

你明白了

http://plnkr.co/edit/C7xpmOxEOpwuAMB1mNpI?p=preview

您也可以通过添加来获得相同的结果

  scope.$apply() 

在您的切换功能结束时,我不喜欢这样,因为您强制 Angular 了解操作,而实际上并不是必需的。但我也工作

于 2014-06-20T14:56:55.260 回答