【发布时间】:2013-11-30 06:11:02
【问题描述】:
我需要将新项目添加到集合中,使用 ngrepeat 呈现并使用 xeditable 使其自动可编辑。
顺便说一句,我正在使用 xeditable 的“手动触发”方法。
这里是 HTML
<h4>Angular-xeditable demo</h4>
<div ng-app="app" ng-controller="Ctrl" style="margin: 50px">
<div class="btn btn-default" ng-click="addNew()">+</div>
<ul>
<li ng-repeat="item in array | orderBy:'-value'">
<a href="#" e-form="itemForm" editable-text="item.field">{{ item.field }}</a>
<i ng-show="!itemForm.$visible" ng-click="itemForm.$show()">edit</i>
</li>
</ul>
</div>
这里是控制器:
var app = angular.module("app", ["xeditable"]);
app.run(function(editableOptions) {
editableOptions.theme = 'bs3';
});
app.controller('Ctrl', function($scope, $filter) {
$scope.array = [
{value: 1, field: 'status1'},
{value: 2, field: 'status2'},
{value: 3, field: 'status3'},
{value: 4, field: 'status4'}
];
$scope.addNew = function(){
$scope.array.push({value:$scope.array.length+1, field: 'enter text here'});
//MAKE IT EDITABLE????????
}
});
看看这个fiddle中的问题:http://jsfiddle.net/dpamio/hD5Kh/1/
【问题讨论】:
-
请解释问题
-
当它说“//使其可编辑??”我的意思是,在添加元素后将其置于“编辑模式”。
-
OK..现在明白了...为什么不让用户先创建新的,然后推送到数据数组?可能更简单。将添加按钮更改为 dsplay 输入和保存按钮...保存时隐藏输入并将该模型推送到
$scope.array -
是的,这可行。只是我想强调最大的双向绑定。如果我能做到,我不需要任何“额外”表格(这是我目前的解决方案)。
-
我认为您必须修改可编辑指令才能在编辑模式下打开它
标签: angularjs angularjs-ng-repeat ng-repeat x-editable