首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 4 ng-show

Angular 4 ng-show
EN

Stack Overflow用户
提问于 2018-06-04 19:42:16
回答 3查看 10.7K关注 0票数 5

我需要根据在下拉列表中选择的值隐藏和显示一个文本框。

这在Angular 1中已经完成了,但是在Angular 4中如何做到这一点。

代码语言:javascript
复制
<div ng-app ng-controller="Controller">
    <select ng-model="myDropDown">
          <option value="one">One</option>
          <option value="two">Two</option>
          <option value="three">Three</option>
    </select>

    <input ng-show="myDropDown=='two'" type="text">
</div>


function Controller ($scope) {
    $scope.myDropDown = 'one';
}

Fiddle in Angular 1

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-04 19:43:26

您可以使用[hidden]

代码语言:javascript
复制
[hidden]="myDropDown !=='two'"
票数 9
EN

Stack Overflow用户

发布于 2018-06-04 19:46:42

angular 2及更高版本不支持

ng-show/ng-hide。所以你可以在上面的angular 2中使用[hidden]作为ng-show/ng-hide或者使用*ngIf作为ng-if

尝试*ngIf而不是ng-show

代码语言:javascript
复制
<input *ngIf="myDropDown=='two'" type="text">

DEMO

票数 4
EN

Stack Overflow用户

发布于 2018-06-04 21:07:13

*ngIf涉及对DOM的操作。我见过很多次隐藏不起作用。我建议创建两个类:隐藏和显示

代码语言:javascript
复制
.hide{
visibility:hidden;
}
.show{
visibility:unset;
}

根据您的要求使用ngClass。

代码语言:javascript
复制
[ngClass]="{'hide' : hideDiv, 'show' : !hideDiv}"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50679774

复制
相关文章

相似问题

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