如何在没有模板的情况下在angularjs中进行内联编辑



am试图在不使用此处概述的模板的情况下编写内联编辑函数http://plnkr.co/edit/EsW7mV?p=preview

您只需将模板的代码放在主页中即可。

<li ng-repeat="todo in todos" inline-edit="todo.title" on-save="updateTodo(todo.title)" on-cancel="cancelEdit(todo.title)">
  <div>
  <input type="text" on-enter="save()" on-esc="cancel()" ng-model="model" ng-show="editMode">
  <button ng-click="cancel()" ng-show="editMode">cancel</button>
  <button ng-click="save()" ng-show="editMode">save</button>
  <span ng-mouseenter="showEdit = true" ng-mouseleave="showEdit = false">
    <span ng-hide="editMode" ng-click="edit()">{{model}}</span>
    <a ng-show="showEdit" ng-click="edit()">edit</a>
  </span>
  </div>
</li>

这里有一个小提琴:

http://jsfiddle.net/siliconball/QwDn9/2/

还建议取消templateUrl: 'inline-edit.html'

如果出于任何原因需要控制器作用域,请在指令中放置scope: false。但你必须随时跟踪你在编辑哪个选项(可能使用id)。如果你是这种情况,我建议你进行一点重构,正如你所知,这可能不是最好的选择。

我想,如果你的情况是,你想在一个页面上写所有内容,因为你是通过一些CGI或动态内容脚本生成的,而你不想在不同的页面上写相同的代码(+脚本接口…),那么为了正交性,我建议也移动inline-edit="todo.title"<div>中的所有指令。

相关内容

  • 没有找到相关文章

最新更新