从AngularJS如何将数据从一个控制器+模板传递到另一个控制器+模板?

ghiscoding

我正在使用AngularJS和Slim PHP框架为后端构建应用程序,现在我完成了第一个表单并为其创建了一条通往模板的路径。现在我想将数据传递给另一个控制器时出现问题,我需要将数据传递给另一个控制器+视图(模板),我不想污染我的第一个视图,而不是它的控制器,所以我真的想要/需要将数据传递到另一个控制器,该控制器可以处理我的数据和另一种形式(第二种形式用于计算和其他工作)...因此您可以将第一个控制器称为预先保存,而实际数据保存(后端到数据库)只会在第二个Controller +模板中发生。这是我的第一个模板视图的缩写,具有以下形式:

<form novalidate id="formAdd" name="formAdd" class="form-horizontal well col-md-7 col-md-pull-5" method="post">
    <fieldset>
        <legend>Transaction form</legend>

        <div class="form-group">
            <label for="symbol" class="col-sm-4 control-label">Symbol</label>
            <div class="col-sm-5 symbols">
                <input type="text" name="symbol" class="form-control" ng-model="trsn.symbol" placeholder="symbol" required />
          </div>  
        </div>                    
        <div class="form-group">
            <label for="accnt_id" class="col-sm-4 control-label">Account</label>
            <div class="col-sm-5">
                <select id="accnt_id" name="accnt_id" ng-model="trsn.accnt_id" class="form-control" required>
                    <option value="">...</option>   
                    <option ng-repeat="account in trsn.accounts" value="{{account.accnt_id}}">{{account.accnt_name}}</option>
                </select>
            </div>
        </div> 
        <!-- ....etc, etc.... -->

        <div class="form-actions col-sm-8 col-sm-offset-4">
            <button type="submit" name="save_btn" class="btn btn-primary" ng-disabled="formAdd.$invalid" ng-click="preSaveTrsn(trsn, formAdd)">Save transaction</button>
            <button type="reset" class="btn btn-default">Cancel</button>
        </div>          
    </fieldset>
</form>

然后该应用程序将包含以下模块并进行路由:

var investingApp = angular.module('investingApp', ['ngSanitize','ngResource', 'ngRoute'])
    .config(function($routeProvider, $locationProvider) {
        $routeProvider.when('/new-trsn',
            {
                templateUrl: 'templates/StockTransaction.html',
                controller: 'StockTransactionController'
            });
        $routeProvider.when('/presave-trsn',
            {
                templateUrl: 'templates/PreSaveTransaction.html',
                controller: 'PreSaveTrsnController'
            });        
    });

现在我的第一个控制器中是presave函数,该函数为空,因为我不知道如何处理它,以便可以将事务数据发送到下一个控制器+视图:

investingApp.controller('StockTransactionController', 
    function TransactionController($scope, $http, $location, $compile, $timeout, transactionDataService, dateFilter) {
        // define some default variables
        $scope.trsn = {};
        $scope.trsn.symbol = "";
        ...
        $scope.preSaveTrsn = function(trsn, formAdd) {          
            // what to put in here to transfer data to next controller????
        };

然后是我的最后一个控制器,因为那里我还没有收到任何数据,所以我那里也什么也没有....但是基本上我要注入的是来自第一个表格/控制器的交易数据(trsn)。

investingApp.controller('PreSaveTrsnController', 
    function MenuController($scope, $http, trsn) {
        console.debug(trsn);
});

我是否必须以routeProvider某种方式放入一些东西...还是我必须在preSaveTrsn第一个控制器中函数内部填写一些特殊内容???我对此感到非常困惑,因为我发现的所有示例都是立即保存到数据库中,但是我无法以此方式构建我的应用程序,出于某些原因,它实际上必须位于第二个控制器上,而我没有认为我必须在这里解释....谢谢您给予的任何帮助:)

安德鲁·舒斯塔里约夫(Andrew Shustariov)

您可以创建轻量级服务-价值

angular.module('investingApp').value('MySharedValue', {});

然后将其注入两个控制器中:

TransactionController($scope, $http, $location, $compile, $timeout, transactionDataService, dateFilter, MySharedValue)

而只是将您的共享价值分配给它

        $scope.preSaveTrsn = function(trsn, formAdd) {          
            MySharedValue.trsn = trsn;
        };

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS:如何从另一个控制器中动态初始化模板中的控制器

来自分类Dev

AngularJS:如何从另一个控制器中动态初始化模板中的控制器

来自分类Dev

控制器操作 - 重定向到另一个模板

来自分类Dev

Django,如何将数据对象从一个模板传递到另一个模板

来自分类Dev

如何将数据从一个视图控制器传递到另一个SWIFT

来自分类Dev

如何将数据从一个视图控制器传递到另一个SWIFT

来自分类Dev

如何将数据从一个视图控制器传递到另一个?

来自分类Dev

更新从另一个控制器渲染的视图内的模板

来自分类Dev

更新从另一个控制器渲染的视图内的模板

来自分类Dev

如何将数据从一个视图控制器传递到另一个视图控制器,并且在视图控制器之间有一个显示视图控制器

来自分类Dev

在我的情况下,如何将数据从一个控制器传递到另一个控制器

来自分类Dev

如何将脆弱数据(例如连接字符串)从一个控制器传递到另一个控制器

来自分类Dev

如何将响应从一个控制器传递到另一个?

来自分类Dev

组件,在 Angularjs1.5 中绑定 - 将数据从一个控制器传递到另一个控制器

来自分类Dev

将模型从一个控制器传递到另一个

来自分类Dev

如何将值从一个控制器传递到ASP.Net MVC3中的另一个控制器

来自分类Dev

如何将 NSMutableDictionary 从一个视图控制器传递到另一个视图控制器?

来自分类Dev

如何将 FXML ComboBox 实例从一个控制器传递到另一个控制器?

来自分类Dev

如何在angularjs中将对象数据从一个控制器传递到另一个控制器

来自分类Dev

如何在CakePHP 3中将数据从一个控制器传递到另一个控制器?

来自分类Dev

如何为一个模板拥有一个控制器的多个实例

来自分类Dev

如何将数据从一个视图控制器传递到导航控制器中嵌入的另一个视图控制器

来自分类Dev

MVC编辑器用于从另一个控制器调用控制器时不使用的模板

来自分类Dev

MVC编辑器用于从另一个控制器调用控制器时不使用的模板

来自分类Dev

如何将数据从EJS模板传递到AngularJS控制器

来自分类Dev

如何将数据从EJS模板传递到AngularJS控制器

来自分类Dev

如何在控制器中导入把手模板并将其放置在另一个把手模板中

来自分类Dev

如何将对象数组从一个控制器传递到另一个?

来自分类Dev

调用函数或将数据传递到另一个控制器AngularJS

Related 相关文章

  1. 1

    AngularJS:如何从另一个控制器中动态初始化模板中的控制器

  2. 2

    AngularJS:如何从另一个控制器中动态初始化模板中的控制器

  3. 3

    控制器操作 - 重定向到另一个模板

  4. 4

    Django,如何将数据对象从一个模板传递到另一个模板

  5. 5

    如何将数据从一个视图控制器传递到另一个SWIFT

  6. 6

    如何将数据从一个视图控制器传递到另一个SWIFT

  7. 7

    如何将数据从一个视图控制器传递到另一个?

  8. 8

    更新从另一个控制器渲染的视图内的模板

  9. 9

    更新从另一个控制器渲染的视图内的模板

  10. 10

    如何将数据从一个视图控制器传递到另一个视图控制器,并且在视图控制器之间有一个显示视图控制器

  11. 11

    在我的情况下,如何将数据从一个控制器传递到另一个控制器

  12. 12

    如何将脆弱数据(例如连接字符串)从一个控制器传递到另一个控制器

  13. 13

    如何将响应从一个控制器传递到另一个?

  14. 14

    组件,在 Angularjs1.5 中绑定 - 将数据从一个控制器传递到另一个控制器

  15. 15

    将模型从一个控制器传递到另一个

  16. 16

    如何将值从一个控制器传递到ASP.Net MVC3中的另一个控制器

  17. 17

    如何将 NSMutableDictionary 从一个视图控制器传递到另一个视图控制器?

  18. 18

    如何将 FXML ComboBox 实例从一个控制器传递到另一个控制器?

  19. 19

    如何在angularjs中将对象数据从一个控制器传递到另一个控制器

  20. 20

    如何在CakePHP 3中将数据从一个控制器传递到另一个控制器?

  21. 21

    如何为一个模板拥有一个控制器的多个实例

  22. 22

    如何将数据从一个视图控制器传递到导航控制器中嵌入的另一个视图控制器

  23. 23

    MVC编辑器用于从另一个控制器调用控制器时不使用的模板

  24. 24

    MVC编辑器用于从另一个控制器调用控制器时不使用的模板

  25. 25

    如何将数据从EJS模板传递到AngularJS控制器

  26. 26

    如何将数据从EJS模板传递到AngularJS控制器

  27. 27

    如何在控制器中导入把手模板并将其放置在另一个把手模板中

  28. 28

    如何将对象数组从一个控制器传递到另一个?

  29. 29

    调用函数或将数据传递到另一个控制器AngularJS

热门标签

归档