gpt4 book ai didi

angularjs - 在 ngRoute Controller 之间传递数据的最佳方式(从一个 View 到下一个 View )

转载 作者:行者123 更新时间:2023-12-02 06:11:27 25 4
gpt4 key购买 nike

我想知道在特定路线上显示的 View 之间传递数据的最佳方式(按照 Angular 方式)是什么,我想避免通过 URL 传递数据,因为可能有很多或者需要某种形式的字符串转换等。总而言之,这不是一个好主意。

理解这一点的例子:

我有一个创建新的内容 View ,其中显示空字段,用户可以自由输入他们想要的所有数据。但在某些情况下,我希望其中一些字段根据用户在先前 View 中所做的操作预先填充数据。

每个 View 都有自己的 Controller 。通过服务进行通信可能仍然有效吗?有没有其他更简单的方法,这样我们就不必关心数据生命周期(即,如果我们通过服务进行通信,我们必须在读取数据后手动丢弃数据)。

我想知道 Angular 建议的方法是什么?

最佳答案

是的,服务或工厂就适合这种情况。您还可以将之前输入的数据存储在本地存储中,例如使用该服务。基本上这是 future 改进的更好方法。

作为一种更简单的方法,您可以简单地使用 $rootScope。如果您愿意,它可以在所有 Controller 中使用。

只需将其注入(inject) Controller 或应用程序本身。

app.controller('myCtrl', function($rootScope){
$rootScope.myStoredValues = {...};
});

app.run(function($rootScope){
$rootScope.root = $rootScope;
$rootScope.myStoredValues = {...};
// this way you don't need to inject it into controller,
// it will be available there via $scope.root.myStoredValues
});

关于angularjs - 在 ngRoute Controller 之间传递数据的最佳方式(从一个 View 到下一个 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25486392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com