从视图中如何将URL作为状态参数发送到控制器。当我发送一个简单的字符串时,一切正常。但是,当我尝试发送网址时,它无法正常工作。我也没有在控制台上收到任何错误消息。
控制器:
.controller('SubCategoriesCtrl', ['$scope', '$stateParams', '$ionicSlideBoxDelegate', 'DataProvider',
function($scope, $stateParams, $ionicSlideBoxDelegate, DataProvider){
console.log($stateParams)
$scope.whichCategory = $stateParams.category;
alert($scope.whichCategory);
DataProvider.getSubCategories($scope.whichCategory).then(function(categories){
$scope.categories = categories.data;
});
}]);
查看:
<ion-item class="item-icon-right" ng-repeat="category in categories"
href="#/categories/{{category.uri}}">
<img src="{{category.img_url}}" class="img-responsive" alt="{{category.name}}">
</ion-item>
类别数组对象:
[{
name: "xxx",
uri: "http://localhost:5000/api/v1.0/categories/xxx"
},
{
name: "yyy",
uri: "http://localhost:5000/api/v1.0/categories/yyy"
}]
答案 0 :(得分:0)
确保对URI进行编码,例如使用标准Javascript encodeuricomponent
(http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp)。
在您的控制器中添加以下功能:
$scope.encodeURL = function(uri) {
return encodeURIComponent(uri);
};
并在视图中更改此部分:
href="#/categories/{{category.uri}}"
要:
href="#/categories/{{ encodeURL(category.uri) }}"