我已尝试在SO上找到多个解决方案,但我显然缺少一些基本的东西,因为无论我尝试什么,我都无法在提交表单(或点击按钮)时更改粒子视图。
以下是代码:
propertyControllers.controller('HomeCtrl', ['$scope', 'SearchData', '$location',
function($scope, SearchData, $routeParams, $location) {
SearchData.set('postcode', $scope.postcode);
SearchData.set('radius', $scope.radius);
SearchData.set('minBeds', $scope.minBeds);
SearchData.set('minPrice', $scope.minPrice);
$scope.submit = function() {
$location.path('/properties');
}
}]);
在home.html
部分
<input type="submit" class="topcoat-button--cta" value="Search">
我的路由配置
var propertyApp = angular.module('propertyApp', [
'ngResource',
'ngRoute',
'propertyControllers'
]);
propertyApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/home', {
templateUrl: 'partials/home.html',
controller: 'HomeCtrl'
}).
when('/properties', {
templateUrl: 'partials/property-list.html',
controller: 'PropertyListCtrl'
}).
when('/properties/:propertyId', {
templateUrl: 'partials/property-detail.html',
controller: 'PropertyDetailCtrl'
}).
otherwise({
redirectTo: 'home'
});
}]);
有人能指出我正确的方向吗?文档似乎过于复杂,我发现的所有简单例子都是我正在做的......
答案 0 :(得分:5)
字符串形式的参数与实际参数不匹配:
controller('HomeCtrl', ['$scope', 'SearchData', '$location',
function($scope, SearchData, $routeParams, $location)
您忘记在'$routeParams'
之前在数组中添加'$location'
。