我是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传递给查看将显示详细视图的模板。提前谢谢。
答案 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));