我想在angular JS中将单词从me改为your using ng-if。所以我使用了下面的代码:
<span class="label-information-text" ng-if="changeValue" >me </span>
<span class="label-information-text" ng-if="!changeValue"> your</span>
<span class="label-edit-text pointer" ng-click="change()">CHANGE </span>我使用了这个js:
self.changeValue = true;
$scope.change = function () {
if(self.changeValue === false){
self.changeValue = true;
console.log('true');
}
else{
self.changeValue = false;
console.log('false');
}
}发布于 2018-11-14 18:20:54
你的逻辑是正确的,但有一点变化,如下所示。
var app = angular.module('test', []);
app.controller('MainCtrl', function($scope) {
var self = this;
self.changeValue = true;
self.change = function () {
if(self.changeValue === false){
self.changeValue = true;
console.log('true');
}
else{
self.changeValue = false;
console.log('false');
}
}
});<!DOCTYPE html>
<html ng-app="test">
<head>
<meta charset="utf-8" />
<script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl as $ctrl">
<span class="label-information-text" ng-if="$ctrl.changeValue" >me </span>
<span class="label-information-text" ng-if="!$ctrl.changeValue"> your</span>
</br>
<span class="label-edit-text pointer" ng-click="$ctrl.change()">CHANGE </span>
</body>
</html>
发布于 2018-11-15 23:06:41
ngShow指令根据提供给类的表达式显示或隐藏给定的HTML元素。ngShow表达式的计算结果为假值,然后将..ng ngShow CSS类添加到元素的attribute.When属性中,从而使其变为隐藏状态。如果为the,将从元素中删除..ng hide CSS类,从而使元素看起来不会隐藏。
ngIf与ngShow和ngHide的不同之处在于,ngIf完全删除并重新创建DOM中的元素,而不是通过display css属性更改其可见性。
请注意,当使用ngIf删除一个元素时,它的作用域将被销毁,并在恢复该元素时创建一个新的作用域。
您应该使用ng-show,
才能获得成功。
发布于 2018-11-14 17:29:56
以下是工作代码:
<button class="btn" ng-click="change()">CHANGE </button>
<span class="label-information-text" ng-if="changeValue" ><b>ME</b> </span>
<span class="label-information-text" ng-if="!changeValue"> <b>YOUR</b></span>JS
$scope.changeValue = true;
$scope.change = function () {
if($scope.changeValue === false){
$scope.changeValue = true;
console.log('true');
}
else{
$scope.changeValue = false;
console.log('false');
}
}https://stackoverflow.com/questions/53296790
复制相似问题