我正在开发一个简单的就地编辑指令。我的目标是使用指令内容(表单)作为模板,并将输入字段更改为标签。单击表单时,指令应将其替换为原始编辑器内容。
我创建了一个plunk。在这里检查。
它第一次绑定其数据,但不再绑定它们。
我的问题:我的概念有什么问题?如何修复它以破坏预期的行为?
任何帮助或评论都值得赞赏。我被困在这里了。谢谢。
我正在开发一个简单的就地编辑指令。我的目标是使用指令内容(表单)作为模板,并将输入字段更改为标签。单击表单时,指令应将其替换为原始编辑器内容。
我创建了一个plunk。在这里检查。
它第一次绑定其数据,但不再绑定它们。
我的问题:我的概念有什么问题?如何修复它以破坏预期的行为?
任何帮助或评论都值得赞赏。我被困在这里了。谢谢。
您应该在指令中使用 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 了解操作,而实际上并不是必需的。但我也工作