控制器之间的价值变化不是持久的

约翰·迪兹勒

我正在尝试在我的应用程序中存储某种全局变量。我读到,最好是使用值而不是服务或rootscope。
因此,我创建了此代码段以测试值的行为。值似乎在控制器内部发生了变化,但是如果我在另一个控制器中使用该值,则该变化似乎丢失了。有没有一种方法可以在运行时更改值,为什么更改不能持久化?

是我在jsfiddle上的代码

Java脚本

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

myApp.value("basePath", "");

myApp.controller('TestController', function($scope, basePath) {

    $scope.preEdit = basePath;

  basePath = window.location.href;
  $scope.postEdit = basePath;

});

myApp.controller('SampleController', function($scope, basePath) {
    $scope.transferedValue = basePath;
})

HTML:

<div ng-controller="TestController">
 Before Editing: {{preEdit}}<br>
 After Editing: {{postEdit}}<br>
</div>

<div ng-controller="SampleController">
  In another Controller: {{transferedValue}}
</div>
本杰明·舒勒(BenjaminSchüller)

您将在此条目中找到答案:AngularJS中的全局变量

将值定义为对象

myApp.value("basePath", {value: ""});

之后,您可以更改basePath.value控制器。

myApp.controller('TestController', function($scope, basePath) {

    $scope.preEdit = basePath.value;

  basePath.value = window.location.href;
  $scope.postEdit = basePath.value;

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使控制器属性持久化

来自分类Dev

使控制器属性持久化

来自分类Dev

多个持久化视图控制器

来自分类Dev

尝试使用Angular rootScope在控制器之间持久保存数据,但始终未定义

来自分类Dev

如何使用服务在Angular控制器之间持久化对象实例?

来自分类Dev

在angularjs中没有ng-model的控制器之间可以共享价值吗?

来自分类Dev

如何在两个视图控制器之间传递(变化的)变量?

来自分类Dev

从树枝到控制器获得价值

来自分类Dev

观察各个控制器的角度变化

来自分类Dev

如何制作参数变化的控制器?

来自分类Dev

控制器之间的验证

来自分类Dev

控制器之间的验证

来自分类Dev

MVC:控制器知道持久性吗?

来自分类Dev

在angularJs post中将数据持久化在控制器中

来自分类Dev

ASP.NET MVC 控制器中的持久数据

来自分类Dev

Spring控制器组成而不是继承

来自分类Dev

AngularJS控制器不是功能

来自分类Dev

Ember JS:父路径/控制器如何观察其子路径/控制器的变化?

来自分类Dev

在视图控制器之间传递块

来自分类Dev

控制器之间的共享状态-angularjs

来自分类Dev

模块之间的“共享”控制器

来自分类Dev

Angular中控制器之间的通信

来自分类Dev

AngularJS:控制器之间如何通信?

来自分类Dev

AngularJS在控制器之间共享方法

来自分类Dev

控制器之间的角度服务

来自分类Dev

在控制器之间传递值

来自分类Dev

AngularJS在指令之间共享控制器

来自分类Dev

侦听视图控制器之间的事件

来自分类Dev

控制器之间共享模型