AngularJS - 从页面传递ID并填充其他页面

时间:2014-07-31 07:19:15

标签: javascript angularjs breeze

我是AngularJS的新手。在我的项目中,搜索时我有一个搜索屏幕,我将在ngGrid中获得搜索结果。 单击网格中的任何行时,它应填充其他页面中该行的详细信息。基本上,我需要将所选记录的ID传递给另一页。我不知道如何在AngularJS(我使用AngularJS HotTowel模板)和Breeze数据访问逻辑中处理这个问题。

感谢您是否可以提供链接或任何我可以参考的地方。

2 个答案:

答案 0 :(得分:0)

您可以为实例

创建服务和共享值
var myApp = angular.module('myApp', []);
myApp.factory('ShareData', function() {
var shared;
    return {
     setValue: function(val){
          shared = val;
     },
     getValue: function(){
         return shared;
    }
});

function FirstCtrl($scope, ShareData){
  ShareData.setValue(1);
}

function SecondCtrl($scope, ShareData){
  $scope.data =   ShareData.getValue();
}

答案 1 :(得分:0)

你需要$ routeParams。

以下是路由配置的示例:

var app = angular.module("app", ["ngRoute"])
.config(["$routeProvider", function ($routeProvider) {

    $routeProvider
        .when("/", {
            controller: "HomeController",
            templateUrl: "/home/main",
        })
        .when("/products/:category", {
            controller: "ProductController",
            templateUrl: "/product/index"
        })
        .otherwise({
            redirectTo: "/"
        });
}]);

产品控制器

angular.module("app")
.controller("ProductController",["$scope","$routeParams", function($scope,$routeParams){
   $scope.category = $routeParams.category;
   alert($scope.category);
}]);

<强>&#39;主&#39;图

<a ng-href="#/products/ladies">Ladies</a>

查看此网址以获取更多信息:

https://docs.angularjs.org/api/ngRoute/service/ $ routeParams