angularJS-html链接之间可见变量的更改

angularJS-html链接之间可见变量的更改,angularjs,angularjs-scope,angularjs-ng-repeat,Angularjs,Angularjs Scope,Angularjs Ng Repeat,我有以下代码: <li ng-repeat="objekt in driversList" class="mix {{objekt.Objekt.Type}}"> <a href="objekttest.html" data-ajax="false" ng-click="objekt.Objekt.Active='yes'"> <img ng-src="../images/thumbs/{{objekt.Objekt.Thumb}}.jpg"

我有以下代码:

<li ng-repeat="objekt in driversList" class="mix {{objekt.Objekt.Type}}">
  <a href="objekttest.html"  data-ajax="false"
     ng-click="objekt.Objekt.Active='yes'">
    <img ng-src="../images/thumbs/{{objekt.Objekt.Thumb}}.jpg"
         style="margin-right:0;" >
    <span id="list">{{objekt.Objekt.Name}}{{objekt.Objekt.Active}}</span>
    <span id="listmala">{{objekt.Objekt.Type}}</span>
  </a>
</li>
这一次,objekt.objekt.Active保留默认值,即“no”

是否可以永久更改范围变量,以便在其他HTML元素上更改它

这是我的控制器代码:

angular.module('aki', [
        'aki.controllers'
    ]);

    angular.module('aki.controllers', []).
    controller('akicontroller', function($scope,$rootScope) {
    //$scope.toggle = function(){
        //$scope.driversList.
    //}
    $rootScope.active='da';
    $scope.driversList = [
      {
          Objekt: {
              Name: 'Saint & Sinner',
              Type: 'nightclub',
              Thumb: 'Sinner',
              Active:'no'         
          }
      },
      {
          Objekt: {
              Name: 'Corner Cafe',
              Type: 'cafe',
              Thumb: 'corner caffe',
              Active:'no'
          }
      },...
...

编辑:我正在制作没有Ajax的多页应用程序,而不是没有使用某种形式的后端或存储

查看您的代码,您似乎已将driversList硬编码到.js文件中。此时,您还将导航到一个新页面。AngularJS不会编辑该JS文件,因此不会持久

您需要有一个后端服务,通过http请求将状态存储在内存或数据库中,让AngularJS不改变位置,将所有这些放在同一个页面上,并在交互时显示/隐藏它,或者使用类似HTMLStorage的东西来保存/加载数据


您还可以使用AngularJS的Firebase后端之类的东西作为数据的持久性,它有一个快速入门指南。

您的ng单击应该使用$scope中的函数来设置原始对象的值。ng click=setActive$index,否则您只更改由ng-repeat创建的子范围内的值。因此,如果我有一个函数,变量也将在另一个html上更改?谢谢您的回答。我将查找:@Axon如果您只需要跨路由更改存储值,一个简单的方法就可以了,因为服务是单例的。服务会跨页面加载持久化数据吗?它们可能是单例的,因此有利于跨控制器持久化,但是如果您完全加载一个新页面,那么每次都应该从头开始重新加载服务,不是吗?没错。强制重新加载页面(例如,点击重新加载按钮)后,它将无法生存。但在SPA中,重新加载页面是非常罕见的。当用户单击一个链接时,它不会导致页面重新加载,而只是一个路由更改,服务将继续存在。但我使用多页面应用程序,我使用相同的控制器加载新页面html。链接没有AJAX
angular.module('aki', [
        'aki.controllers'
    ]);

    angular.module('aki.controllers', []).
    controller('akicontroller', function($scope,$rootScope) {
    //$scope.toggle = function(){
        //$scope.driversList.
    //}
    $rootScope.active='da';
    $scope.driversList = [
      {
          Objekt: {
              Name: 'Saint & Sinner',
              Type: 'nightclub',
              Thumb: 'Sinner',
              Active:'no'         
          }
      },
      {
          Objekt: {
              Name: 'Corner Cafe',
              Type: 'cafe',
              Thumb: 'corner caffe',
              Active:'no'
          }
      },...
...