相关疑难解决方法(0)

Angularjs,在路线之间传递范围

我有一种形式可以延伸几页(可能不太理想,但就是这样).我希望在整个表单中有一个范围可以随着时间的推移填充,这样如果用户在步骤之间来回切换,则很容易记住状态.

所以我需要做非常伪代码:

  1. $scope.val = <Some dynamic data>
  2. 单击链接并路由到新模板(可能使用相同的控制器).
  3. $scope.val 应该仍然与最后一页上的值相同.

以某种方式持久化数据范围是正确的方法,还是有其他方法?您是否可以创建一个在路由之间具有持久范围的控制器,当然除了将其保存在数据库中之外.

scope routes controllers angularjs

88
推荐指数
3
解决办法
7万
查看次数

使用Angular UI-Router保留状态

我有一个带有ng-view的应用程序,可以将电子邮件发送给从联系人列表中选择的联系人.当用户选择"收件人"时,它显示另一个可以搜索,过滤等的视图/页面."发送电子邮件"和"联系人列表"是在ng-view中加载的不同html部分.

我需要保持发送表单状态,以便当用户从联系人列表中选择某人时,它返回到同一点(和相同的状态).我读到了不同的解决方案($ rootScope,使用ng-show隐藏的div,...)但我想知道UI路由器是否会帮助我使用它的状态管理器.如果没有,还有其他现成的解决方案吗?

谢谢!

angularjs angular-ui

19
推荐指数
2
解决办法
2万
查看次数

使用AngularJS中不同控制器的$ scope函数

我想在另一个控制器中共享一个控制器的$ scope函数,在本例中是一个AngularUI对话框.

特别是在下面的例子中,我希望$ scope.scopeVar在PopupCtrl中可用.

这是一个普兰克

在此处根据mlarcher的评论解析代码

main.js

angular.module('MyApp', ['ui.bootstrap']);

var MainCtrl = ['$scope', '$dialog', '$rootScope', function($scope, $dialog, $rootScope) {

  $scope.myTestVar = "hello";

  $scope.myOpts = {
    backdrop: true,
    keyboard: true,
    backdropClick: true,
    resolve: { MainCtrl: function() { return MainCtrl; }},
    templateUrl: 'myPopup.html',
    controller: 'PopupCtrl'
  };

  $scope.scopeVar = 'scope var string that should appear in both index.html and myPopup.html.';
  $rootScope.rootScopeVar = "rootScope var string that should appear in both index.html and myPopup.html.";

  $scope.openDialog = function() {

    var d = $dialog.dialog($scope.myOpts);

    d.open().then(function() { …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui angular-ui-bootstrap

12
推荐指数
1
解决办法
4万
查看次数