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'
}
},...
...