javascript - ng-show,ng-hide 在控制器外不起作用
问题描述
我有两个 div 的。一个是add另一个是view。一次显示任何一个 div。我的添加按钮被放置在控制器之外。
<input id="Button1" type="button" value="Add" onclick="AddClick()" />
<div ng-app="myApp" ng-controller="csrControl" ng-init="viewdiv=true">
<div id="view" ng-show="viewdiv">
view
</div>
<div id="add" ng-hide="viewdiv">
Add
</div>
</div>
在这里,我在外部调用了控制器并将范围变量分配给 false。变量设置为false,但div不能隐藏和显示。ng-show 和 ng-hide 不起作用
function AddClick() {
var $scope = 'div[ng-controller="csrControl"]';
$scope.viewdiv = 'false';
$scope.$apply();
}
解决方案
以下是我为使其正常工作而进行的更改:
- 放入
ng-app="myApp" ng-controller="csrControl"
体内。 - 移至。
ng-init="viewdiv=true"
_$scope.viewdiv = true;
和许多小事。一探究竟。
angular.module('myApp', ['myApp.controllers']);
angular.module('myApp.controllers', []).controller('csrControl', [
'$scope', function($scope){
$scope.viewdiv = true;
$scope.addClick = function() {
$scope.viewdiv = false;
}
}
]);
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="csrControl">
<input id="Button1" type="button" value="Add" ng-click="addClick()" />
<div>
<div id="view" ng-show="viewdiv">
view
</div>
<div id="add" ng-hide="viewdiv">
Add
</div>
</div>
</body>
</html>
推荐阅读
- angular - 将 Angular 6 应用程序托管到 firebase
- html - 如何将 Godaddy 服务器中的图像链接到我的 html 电子邮件正文
- javascript - AngularJS 将事件发送到另一个控制器($broadcast、$window.localStorage 等)
- django - Django:将 url slugs 传递给表单集查询集
- node.js - Node js:在 Json 数组中搜索动态 json 对象
- django - 使用 Django Rest 检索图像
- javascript - node.js 多个回调/回调串行执行
- php - PHP会话数据不持久
- ios - 从 MusicSequence 生成 MIDI 文件时遇到问题
- ios - 如何在我们的团队中使用开发 pod?