Oldies93
Oldies93

Reputation: 13

ng-click does not work for linking to another view

I'm trying to link to a different page/view via ng-click and a function inside my controller. I don't do it with href because later it should be a right-click-event. But my code doesn't work. I've tried very much, and searched alot of pages but I can't find any solution. Thanks for your help :)

game.html

<div class="container" ng-controller="MainController">
	<div class="handcards" ng-repeat="card in stdCards">
    	<a ng-click="goToCardDetail()" href="">{{ card.name }}</a>
    </div>
</div>

MainController.js

app.controller('MainController', ['$scope', 'stdcards', '$location', function($scope, stdcards, $location) {
	stdcards.success(function(data) {
		$scope.stdCards = data;
	});
	
	$scope.goToCardDetail = function() {
		$location.path('#/cards/0');
	};
}]);

app.js

'use strict';

var app = angular.module('myApp', ['ngRoute']);

app.config(function ($routeProvider) {
	$routeProvider
		.when('/', {
			controller: 'MainController',
			templateUrl: 'templates/game.html'
		})
		.when('/cards/:id', {
			controller: 'CardController',
			templateUrl: 'templates/card.html'
		})
		.otherwise({
			redirectTo: '/'
		});
});

Upvotes: 1

Views: 73

Answers (1)

rob
rob

Reputation: 18513

You don't need to include the # when you are calling $location.path(). So it should just be

$location.path('/cards/0');

Upvotes: 1

Related Questions