首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态ng-hide?

动态ng-hide?
EN

Stack Overflow用户
提问于 2015-03-04 21:54:50
回答 2查看 3.1K关注 0票数 2

我试图根据输入来隐藏div。这是一个带有id的列表,所以目前我的div如下所示:

代码语言:javascript
复制
<div class="animate-show" ng-hide="'hide'-{{item.Id}}">

这将输出:ng-hide中的'hide'-1。我试着去掉'‘,但它不起作用。

我们的计划是,每个项目都有一个按钮,当按钮被点击时,它将应用$scope.hide-1 = true;,为该项目设置淡出动画。

有没有人在列表(div中的div)中隐藏基于按钮单击的项?我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2015-03-04 21:57:13

您可以像这样构造动态作用域属性名称:

代码语言:javascript
复制
<div class="animate-show" ng-hide="this['hide-' + item.Id]">

ngHide内部,this指向作用域对象($scope),然后您只需使用括号表示法来使用变量构建属性名称。

请注意,$scope.hide-1是无效的表示法,因此最好是$scope.hide1

票数 3
EN

Stack Overflow用户

发布于 2015-03-04 22:00:19

我会使用一个函数:

代码语言:javascript
复制
ng-hide="shouldHide(item.Id)"

在控制器中:

代码语言:javascript
复制
var itemIdsToHide = {};

$scope.shouldHide = function(itemId) {
    return itemIdsToHide[itemId];
};

$scope.hideItem = function(itemId) {
    itemIdsToHide[itemId] = true;
};

$scope.showItem = function(itemId) {
    delete itemIdsToHide[itemId];
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28856266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档