使用 `ng-show` 显示和隐藏未按预期工作
Show and hide not working as per expected using `ng-show`
我正在尝试 show
和 hide
搜索字段。为此,我使用了一个函数并传递了选项。它只有 show
搜索字段,但我无法将其隐藏起来。
这里有什么问题?
这是我的代码:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.showSearch = false;
$scope.searchHandler = function ( option ) {
$scope.showSearch = option;
}
});
html :
<a ng-href="" ng-click="searchHandler('true')">Show</a>
<div>
<span ng-show="showSearch">
<input type="text" name="quickSearch" id="quickSearch" value="Search" />
</span>
</div>
<a ng-href="" ng-click="searchHandler('false')">Hide</a>//not working
你必须给 showSearch 函数 false 而不是 'false'
显示
<div>
<span ng-show="showSearch">
<input type="text" name="quickSearch" id="quickSearch" value="Search" />
</span>
</div>
<a ng-href="" ng-click="searchHandler(false)">Hide</a>
删除 searchHandler('false') 调用中 'false' 周围的单引号。
即
您目前拥有:ng-click="searchHandler('false')"
将其更改为:ng-click="searchHandler(false)"
你必须向它传递一个布尔值而不是一个字符串,所以你需要做的就是去掉引号
<a ng-href="" ng-click="searchHandler(false)">Hide</a>
删除单引号字符。应该是 searchHandler(false)
和 searchHandler(true)
更简单,可以完全删除函数,只需切换布尔值:
<a ng-click="showSearch = !showSearch">Hide</a>
或
<a ng-click="showSearch = false">Hide</a>
删除单引号应该有效
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />'); </script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.4.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js" data-semver="1.4.5"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<a ng-href="" ng-click="searchHandler('true')">Show</a>
<div>
<span ng-show="showSearch">
<input type="text" name="quickSearch" id="quickSearch" value="Search" />
</span>
</div>
<a ng-href="" ng-click="searchHandler(false)">Hide</a>
</body>
</html>
我正在尝试 show
和 hide
搜索字段。为此,我使用了一个函数并传递了选项。它只有 show
搜索字段,但我无法将其隐藏起来。
这里有什么问题?
这是我的代码:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.showSearch = false;
$scope.searchHandler = function ( option ) {
$scope.showSearch = option;
}
});
html :
<a ng-href="" ng-click="searchHandler('true')">Show</a>
<div>
<span ng-show="showSearch">
<input type="text" name="quickSearch" id="quickSearch" value="Search" />
</span>
</div>
<a ng-href="" ng-click="searchHandler('false')">Hide</a>//not working
你必须给 showSearch 函数 false 而不是 'false' 显示
<div>
<span ng-show="showSearch">
<input type="text" name="quickSearch" id="quickSearch" value="Search" />
</span>
</div>
<a ng-href="" ng-click="searchHandler(false)">Hide</a>
删除 searchHandler('false') 调用中 'false' 周围的单引号。
即
您目前拥有:ng-click="searchHandler('false')"
将其更改为:ng-click="searchHandler(false)"
你必须向它传递一个布尔值而不是一个字符串,所以你需要做的就是去掉引号
<a ng-href="" ng-click="searchHandler(false)">Hide</a>
删除单引号字符。应该是 searchHandler(false)
和 searchHandler(true)
更简单,可以完全删除函数,只需切换布尔值:
<a ng-click="showSearch = !showSearch">Hide</a>
或
<a ng-click="showSearch = false">Hide</a>
删除单引号应该有效
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />'); </script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.4.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js" data-semver="1.4.5"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<a ng-href="" ng-click="searchHandler('true')">Show</a>
<div>
<span ng-show="showSearch">
<input type="text" name="quickSearch" id="quickSearch" value="Search" />
</span>
</div>
<a ng-href="" ng-click="searchHandler(false)">Hide</a>
</body>
</html>