将URL查询字符串值传递给角度路径中的视图模板

时间:2016-03-05 01:46:22

标签: angularjs angularjs-ng-route

我是AngularJS的新手。我正在尝试重写使用JQuery的网站。

在我使用的现有网站中 $(document).on("click",".movieposter",function(){ window.open("moviedetail.html?id="+this.id); });打开当前页面的详细信息页面。

我正在尝试使用AngularJS路由来获得相同的功能。我做了我的研究,但我不知道怎么做。我被困在以下代码中。

 .state('moviedetail', {
        url: "/moviedetail?id",
        templateUrl: "views/moviedetail.html",
        controller: function ($stateParams) {
            alert($stateParams.id);  //*** Exists! ***//
        }

    })

我得到了一部用于获取电影详细信息的电影ID的网址。如何将该影片ID传递给查看将显示详细视图的模板。提前谢谢。

2 个答案:

答案 0 :(得分:0)

使用状态参数传递对象。

ui-sref="movielist({movie: movieDetails})"

答案 1 :(得分:0)

感谢您的回答Vinay和charlietfl。我根据你的答案进行研究,从中学到了一些新知识。使用状态参数传递对象是个好主意。我也发现了解决问题的陈述。不过,我决定使用localStorage而不是传递对象作为参数。我只使用状态参数来传递电影的id。

这是html:

<a class="moreInfo" ng-click="save({{movie}})" ui-sref="moviedetail({id: {{movie.id}}})"> Find Out More </a>

这是电影控制器中的保存方法:

 $scope.save = function (movie) {
       localStorage.setItem(movie.id, JSON.stringify(movie));
 }

以下是我在MovieDetail Controller中获取数据的方法:

var movie = JSON.parse(localStorage.getItem(id));