2015-02-06 119 views
-1

我刚开始使用angularjs。我正在尝试构建简单的单页应用程序。我有用户添加项目列表。我使用显示ng-repeat这样的名单..如何添加编辑选项列表

<div ng-repeat="option in options"></div><div id="editor"><input type="text" /></div> 

我有一个编辑器div来在列表的底部添加选项。

<div id="item1">item1<a href="#" ng-click="edit_item(item1)">edit</a></div> 
<div id="item2">item2<a href="#" ng-click="edit_item(item2)">edit</a></div> 
... 
<div id="editor"><input type="text" /> ....<div> 

但是,当我编辑我想,我编辑的DIV之后移动editor div。我尝试使用jquery insertAfter方法。有用。

<div id="item1">item1<a href="#" ng-click="edit_item(item1)">edit</a></div> 
<div id="editor"><input type="text" /> ....<div> 
<div id="item2">item2<a href="#" ng-click="edit_item(item2)">edit</a></div> 
... 

但是,当我添加一个新的项目,它不会移动editor div它的工作如预期。有没有更好的方法来完成这个使用angularjs指令。我以为我可以创建一个类指令,并将编辑器移入模板并在点击时加载它。它会起作用吗?我感谢任何帮助。

+0

你如何增加新项目列表,推期权新元素?你最好提供更多的代码来更好的调试。 – Rebornix 2015-02-06 13:13:58

+0

@rebomix是的,我正在将选项推入添加对象。在编辑我设置字段值范围变量 – 2015-02-06 13:37:29

+0

如何创建一个演示应用程序上plnkr.co或jsfiddle然后我们可以看看它。 – Rebornix 2015-02-06 13:39:11

回答

0

您可以将div <div id="editor"><input type="text" /></div>放入中继器。

<div id="item1">item1<a href="#" ng-click="edit_item(item1)">edit</a></div> 
<div id="editor1" ng-show='...'><input type="text" /> ....<div> 
<div id="item2">item2<a href="#" ng-click="edit_item(item2)">edit</a></div> 
<div id="editor2" ng-show='...'><input type="text" /> ....<div> 

+0

它会工作。但它不是上面显示的一个输入字段。编辑有很多领域。我会认为会有更好的方法来完成相同的 – 2015-02-06 13:39:33

+0

为什么?你可以用指令中的所有字段封装编辑器,并将指令插入中继器。 – GraDea 2015-02-06 14:39:19

相关问题