我开始使用Angular,它很好地实现。我在ng-click
上遇到了一个问题。
我正在动态获取数据,并显示与ng-repeat
,我想更新的数据在铅笔点击,我使用输入文本元素,但当我点击铅笔,它打开所有的文本字段。
下面是我的HTML代码:
<
div ng-repeat="item in scroller.items track by $index">
<div class="secHead text-center">
<button class="common btnDarkGrey" data-ng-hide="hideCatButton">{{item.category_name}}</button>
<input type="text" id="focus-{{$index}}" class="common btnDarkGrey editDashboardCategory" name="editCategory" value="" data-ng-model="item.category_name" data-ng-show="hideField">
<span data-ng-click="updateCategory(item.category_id,item.category_name,$index)" class="chkOneDone" data-ng-show="hideOkButton">Done</span>
<div class="pull-right">
<a href="#" class="pen" data-ng-click="updatePen($index)"></a>
</div>
</div>
</div>
字符串
下面是我的Angular代码:
$scope.updateCategory=function(category_id,updated_cat_name, $index){
Category.updateCat($rootScope,$scope,$index,$http,$timeout,updated_cat_name,old_cat_name,category_id);
};
$scope.updatePen=function($index){
old_cat_name=$scope.scroller.items[$index].category_name
$scope.hideField=true;
$rootScope.hideOkButton=true;
$rootScope.hideCatButton=true;
};
型
我创建了一个分类服务来执行类似“更新”的任务。
我可以尝试解决这个问题吗?
1条答案
按热度按时间kqlmhetl1#
如果你只想隐藏/显示列表中的一个元素,你需要以某种方式指定它。现在你有三个rootScope布尔值:
$scope.hideField=true; $rootScope.hideOkButton=true; $rootScope.hideCatButton=true;
被设置为整个列表,你需要设置一个显示属性的每个人在列表中。在你的控制器函数中,你可以在你期待点击之前做一些类似的事情:
字符串
然后,您可以执行类似于以下操作的操作来实际显示字段:
型
我的理解是,一旦发生单击,您需要显示所有三个属性,因此我将所有show属性压缩为一个show属性。
您的视图只看到
hideField
为true,并对数组中的所有项执行该操作。我希望这有帮助!