Javascript AngularJS-在ng中的项目之间切换使用ng单击重复

Javascript AngularJS-在ng中的项目之间切换使用ng单击重复,javascript,angularjs,angularjs-ng-click,Javascript,Angularjs,Angularjs Ng Click,我有一个小JSON对象,包含国家和城市 国家广播公司正在给这个国家打电话。所以我现在想,当我点击一个国家的项目,这个项目显示城市和其他点击它切换回国家 我有两个功能,我可以从一个国家切换到另一个城市,但我不能切换回原来的(国家)一个。我该怎么做 我的HTML: <body ng-controller="test"> <div ng-repeat="module in values" ng-click="select? setSelected() : setSelected2(

我有一个小JSON对象,包含国家和城市

国家广播公司正在给这个国家打电话。所以我现在想,当我点击一个国家的项目,这个项目显示城市和其他点击它切换回国家

我有两个功能,我可以从一个国家切换到另一个城市,但我不能切换回原来的(国家)一个。我该怎么做

我的HTML:

<body ng-controller="test">

<div ng-repeat="module in values" ng-click="select? setSelected() : setSelected2();select = !select">
    {{module.country}}
</div>
这是一个带有我的代码的plunker:


感谢您的帮助。

如果它仅用于显示目的,则无需将任何角度函数放置在
.js
文件中即可帮助您:

var app = angular.module('AngularApp', []);

app.controller('test', ['$scope', function ($scope) {

$scope.values = [
    {
        country: 'England',
        city: 'London',

    },
    {
        country: 'Spain',
        city: 'Madrid',
    }];


$scope.select = true;

$scope.setSelected = function() {

       $scope.values[this.$index].country = $scope.values[this.$index].city;           

    }

$scope.setSelected2 = function() {

       $scope.values[this.$index].country = $scope.values[this.$index].country;

    }

    return false;

}]);
<div ng-repeat="module in values" ng-click="select = !select">
    {{select ? module.city : module.country}}
</div>

{{select?module.city:module.country}

如果仅用于显示目的,则无需将任何角度函数放置在
.js
文件中即可帮助您:

var app = angular.module('AngularApp', []);

app.controller('test', ['$scope', function ($scope) {

$scope.values = [
    {
        country: 'England',
        city: 'London',

    },
    {
        country: 'Spain',
        city: 'Madrid',
    }];


$scope.select = true;

$scope.setSelected = function() {

       $scope.values[this.$index].country = $scope.values[this.$index].city;           

    }

$scope.setSelected2 = function() {

       $scope.values[this.$index].country = $scope.values[this.$index].country;

    }

    return false;

}]);
<div ng-repeat="module in values" ng-click="select = !select">
    {{select ? module.city : module.country}}
</div>

{{select?module.city:module.country}

您应该创建自己的模型来存储显示的值:

$scope.values = [
{
    country: 'England',
    city: 'London',
    showCountry: true
},
{
    country: 'Spain',
    city: 'Madrid',
    showCountry: true
}];



$scope.setSelected = function() {
   if ($scope.values[this.$index].showCountry)
   {
    $scope.values[this.$index].showCountry = false;
   } else {
    $scope.values[this.$index].showCountry = true;
   }
}

<div ng-repeat="module in values" ng-click="setSelected()">
  {{module.showCountry ? module.country : module.city}}
</div>
$scope.values=[
{
国家:'英格兰',
城市:“伦敦”,
showCountry:真的
},
{
国家:'西班牙',
城市:“马德里”,
showCountry:真的
}];
$scope.setSelected=函数(){
if($scope.values[this.$index].showCountry)
{
$scope.values[this.$index].showCountry=false;
}否则{
$scope.values[this.$index].showCountry=true;
}
}
{{module.showCountry?module.country:module.city}

您应该创建自己的模型来存储显示的值:

$scope.values = [
{
    country: 'England',
    city: 'London',
    showCountry: true
},
{
    country: 'Spain',
    city: 'Madrid',
    showCountry: true
}];



$scope.setSelected = function() {
   if ($scope.values[this.$index].showCountry)
   {
    $scope.values[this.$index].showCountry = false;
   } else {
    $scope.values[this.$index].showCountry = true;
   }
}

<div ng-repeat="module in values" ng-click="setSelected()">
  {{module.showCountry ? module.country : module.city}}
</div>
$scope.values=[
{
国家:'英格兰',
城市:“伦敦”,
showCountry:真的
},
{
国家:'西班牙',
城市:“马德里”,
showCountry:真的
}];
$scope.setSelected=函数(){
if($scope.values[this.$index].showCountry)
{
$scope.values[this.$index].showCountry=false;
}否则{
$scope.values[this.$index].showCountry=true;
}
}
{{module.showCountry?module.country:module.city}