我想将属性film.title
传递给状态模板,而不必在状态URL中指定它。
index.html:<a ui-sref="showtimes({ filmId: film.uid, filmTitle: film.title })">
app.js:
.state('showtimes', {
url: '/showtimes/:filmId',
controller: function($scope, $http, $stateParams) {
$http.get('api/showtimes/?film_id=' + $stateParams.filmId).success(function(data) {
$scope.showtimes = data;
});
},
templateUrl: 'static/showtimes.html'
});
showtimes.html:
<p>{{film}}</p>
我尝试将
$scope.film = $stateParams.filmTitle;
添加到控制器。没用我也尝试了$scope.film = $state.params.filmTitle;
却没有任何运气。 最佳答案
您可以使用params
属性指定非URL参数:
.state('showtimes', {
url: '/showtimes/:filmId',
params: {
filmTitle: undefined // or "default Title"
},
controller: function($scope, $http, $stateParams) {
console.log($stateParams.filmTitle);
// ...
},
// ...
});