[英]How to hide show in Angular
我是angular js的初學者
HTML
<div ng-app="myapp">
<div ng-controller="maincontrol">
<div ng-show="!vis"><a href="#/">show</a></div>
<div ng-show="vis"><a href="#/contact">hide</a></div>
</div>
<div ng-view></div>
</div>
JS
var app = angular.module('myapp', ['ngRoute'])
app.controller('maincontrol', function ($scope) {
$scope.vis = true;
$scope.fun = function () {
if ($scope.user == "home" && $scope.pass == "home") {
console.log($scope.user, $scope.pass);
$scope.vis = false;
}
}
})
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'home.html'
})
.when('/contact', {
templateUrl: 'contact.html'
})
});
而且我還有兩個HTML頁面,例如
home.html的
<div ng-controller="maincontrol">
<input ng-model="user"/>
<input ng-model="pass"/>
<div ng-click="fun()">
click
</div>
</div>
contact.html
<div>
contact
</div>
我的期望是進入用戶並通過后。 如果單擊“單擊”,則需要顯示“顯示”標簽而不是“隱藏”。 請幫助我。
每個控制器都有自己的作用域,當您在fun()上寫入$ scope.vis = false時,實際上是在maincontroler1作用域上創建了一個新變量。 如果您希望此變量影響綁定到maincontroler范圍的視圖,則不會發生。
我建議2個選擇:
所以我用了這段代碼:
$parent.user
$parent.pass
為您創建此工作插件 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.