我是这个领域的新手,正在尝试编写一个网站,但遇到了一个问题。这是我的代码的简单版本,可以在您的笔记本电脑上运行:
<!DOCTYPE html>
<html lang="en" ng-app='myApp'>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="js/all.js"></script>
<script>
var show=false
var notshow=true
</script>
</head>
<body ng-controller="mainControl">
Hide HTML: <input type="checkbox" ng-model="myVar">
<div ng-show="myVar">
<button>Sign Up</button>
<button>Log In</button>
</div>
<div ng-show="show">
<button>Sign Up</button>
<button>Log In</button>
</div>
<div ng-show="logged">
<button>Sign Up</button>
<button>Log In</button>
</div>
<div ng-show="notshow">
<button>Sign Up</button>
<button>Log In</button>
</div>
<div ng-show="visiter">
<button>Sign Up</button>
<button>Log In</button>
</div>
</body>
</html>
关于myApp和all.js,我还没有写太多。像这样:
(function(){
angular.module('myApp',[])
})()
(function(){
'use strict';
angular.module('myApp').controller('mainControl',function($scope){
$scope.logged=false;
$scope.visiter=true;
})
})()
当你运行它时,你会发现五个ng-shows根本不起作用。如果我删除 ng-controller="mainControl"
第一个 ng-show 工作正常,但其他的则不起作用。
我试了很久,没发现这里面有什么规律。你能修改这段代码并给我正确的版本吗?或者只是告诉我我的代码有什么问题?
最佳答案
我不精通 JavaScript,所以无法对此发表评论
(function(){... code ...})())
您正在使用的模式,但您肯定忘记了第二个 block 上的()
。
关于javascript - 我的 angularjs 的一些奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40354048/