如何在angular.js中将值从一个页面传递到另一个页面

时间:2016-01-20 04:51:47

标签: angularjs

这是我的代码

<md-whiteframe class="whiteframe" layout-align="center space-around" 
    ng-repeat="scdlr in day" ng-click="showDetails(data.name)" flex>
    {{scdlr.name}}<br>
    {{scdlr.creative_id}}<br>
    {{scdlr.status}}
</md-whiteframe>

并在控制器中

$scope.showDetails = function(e)
    {

        $mdDialog.show({
            templateUrl        : 'app/main/apps/vendors/scheduler/dialogs/detail.html',
            targetEvent        : e,
            clickOutsideToClose: true
        });


    }

当我点击白框时,会出现一个页面detail.html的弹出窗口。我想要的是在detail.html中的data.name(在ng-click中传递的参数)。这是可能的,我是angular.js的新手

4 个答案:

答案 0 :(得分:1)

您可以在rootscope中保存data.name:

data ds;
set ds;
percentage=total_employed/monthly_total;
run;

并且在html中你可以通过{{$ root.name}}访问它.rootScope可以在任何地方访问,它将被视为全局变量。

答案 1 :(得分:0)

使用角度服务或工厂,并将相应服务或工厂的名称注入detail.html控制器以全局使用数据。

访问官方网站:https://docs.angularjs.org/guide/services

答案 2 :(得分:0)

使用locals -{object=}:包含键/值对的对象。键将用作注入控制器的值的名称。例如, locals: {three: 3} - 将三个值注入控制器。

Reference

答案 3 :(得分:0)

使用$ mdDialog时,如果要发送数据,请使用locals属性发送数据。

$scope.showDetails = function(e) {
                         $mdDialog.show({
                             templateUrl        : 'app/main/apps/vendors/scheduler/dialogs/detail.html',
                             targetEvent        : e,
                             clickOutsideToClose: true,
                             locals: {
                                   items: $scope.data // data you want to pass
                             }
                         });
                     }

    }

有关详细信息,请访问:Angular js $mdDialog documentation