You could use ng-switch to conditionally render your productList with an include, depending on the route parameters.
Try this in your config:
angular.module('productapp', [])
.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/productapp', {templateUrl: 'partials/productList.html', controller: productsCtrl})
.when('/productapp/:productId', {templateUrl: 'partials/productList.html', controller: productsCtrl})
.otherwise({redirectTo: '/productapp'});
And in your controller:
function productsCtrl($scope, $routeParams) {
$scope.productId = $routeParams.productId;
}
And in your html:
<...productListHtml...>
<div ng-switch="productId != null">
<div ng-switch-when="true" ng-include="'partials/product.html'">
</div>