Essayer de remplacer les espaces par des tirets en utilisant ng-model

Je suis nouveau sur AngularJS et essayer de créer une application simple qui va me permettre de télécharger des fichiers à mon Laravel site. Je veux que le formulaire pour me montrer l'aperçu de ce que le téléchargement de l'élément. Je suis donc en utilisant ng-modèle à atteindre cet objectif et je suis tombé sur les éléments suivants:

J'ai une entrée avec bootstrap stylings et je suis en utilisant des crochets pour AngularJS templating (parce que comme je l'ai mentionné, je suis à l'aide de Laravel avec son système à roues alignées). Et j'ai besoin de supprimer les espaces de l'entrée (en tant que type I) et de les remplacer par des tirets:

<div class="form-group"><input type="text" plaeholder="Title" name="title" class="form-control" ng-model="gnTitle" /></div>

Et puis j'ai ceci:

<a ng-href="/art/[[gnTitle | spaceless]]" target="_blank">[[gnTitle | lowercase]]</a>

Et mon app.js ressemble à ceci:

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

app.config(function($interpolateProvider){
    $interpolateProvider.startSymbol('[[').endSymbol(']]');
});

app.filter('spaceless',function(){
    return function(input){
        input.replace(' ','-');
    }
});

J'obtiens l'erreur suivante:
TypeError: Cannot read property 'remplacer' undefined

Je comprends que j'ai besoin de définir la valeur avant de la filtrer, mais je ne suis pas sûr de l'endroit où le définir exactement. Et aussi, si je le définir, je n'en veux pas changer mon espace réservé.

source d'informationauteur Bravi