【发布时间】:2015-12-09 00:37:59
【问题描述】:
我在模板中有这个haml代码,
.movie_container{"ng-repeat" => "movie in movieGroup | orderBy:'release_date'"}
%a{:href => "#", "ui-sref" => ".container-big({value: '{{movie}}'})"} More info
当用户点击a ui-sref 元素时,我会加载一个名为home.container-big 的新状态。我还将我的电影字符串数据传递给home.container-big 状态,以便我可以使用其中的数据。
.state('home.container-big',{
params: {
value: null
},
url: '',
views: {
"container-big":{
templateUrl: '../assets/angular-app/templates/_movie-info.html',
controller: function($scope, $stateParams, $state) {
$scope.movie = JSON.parse($stateParams.value);
console.log ($scope.movie)
}
}
}
})
在这种状态下,我有一个控制器。在控制器中,我有一个称为电影的范围。先前状态的数据字符串被转换为 JSON 并放置在我的 $scope.movies 中,因此我可以在 _movie-info.html 模板上使用它,
到目前为止,一切都很好。
.container-info{"ng-style" => "{'background-image':'url(https://image.tmdb.org/t/p/w1280{{movie.backdrop}})'}"}
%ul.trailers
%li{"ng-repeat" => "trailer in filteredTrailers = (trailers | filter: { movie_id: movie.movie_id})"}
%a{"ui-sref" => ".container-big-trailer({value: '{{ trailer.link }}' })"} {{ trailer.link }}
.container-trailers
%div{"ui-view" => "youtube_trailer"}
在这个模板中,我列出了我的数据库中的所有预告片,并通过 movie_id 过滤它们。当用户点击a ui-sref=".container-big-trailer 时,我会进入一个名为.container-big-trailer 的新状态并将trailer.link 中的数据作为值传递给该状态。
在这个点击我得到错误
SyntaxError: Unexpected token y
at Object.parse (native)
看起来令牌与trailer.link 的值有关,因为令牌是trailer.link 值的第一个令牌,除了以字母 N 或 F 开头的预告片(可能还有几个更多)。
* 编辑 *
如果我从ui-sref 链接中删除{value: '{{ trailer.link }}' },然后像这样点击,
%ul.trailers
%li{"ng-repeat" => "trailer in filteredTrailers = (trailers | filter: { movie_id: movie.movie_id})"}
%a{"ui-sref" => ".container-big-trailer()"} {{ trailer.link }}
然后 console.log 我的.container-big-trailer 状态的值是什么,
.state('home.container-big.container-big-trailer',{
params: {
value: null
},
url: '',
views: {
"youtube_trailer":{
templateUrl: '../assets/angular-app/templates/_container-trailer.html',
controller: function($scope, $stateParams, $state) {
$scope.value = $stateParams.value;
console.log ('big-trailer' + $scope.value)
}
}
}
})
它输出状态为home.container-big的值的字符串数据。
【问题讨论】:
-
你能把你的haml代码转换成普通的HTML吗?