Entschuldigung für den langen Titel. Diese Frage wird in der Antwort zur Verfügung gestellt Basis hereAngularJS Ng-route - Wechseln zu einer bestimmten Seitenansicht beim Eingeben einer Eingabe: Text von einer anderen URL
Ich habe eine Seite mit zwei Ansichten
app.config(["$routeProvider", "$locationProvider", function($routeProvider, $locationProvider) {
$routeProvider
.when('/content1', {
templateUrl: 'content1.html',
controller: 'myCtrl'
})
.when('/content2', {
templateUrl: 'content2.html',
controller: 'myCtrl'
})
.otherwise({
redirectTo: '/content1'
});
}]);
Wenn in ein Eingabe eingeben: Text schaltet er auf den zweiten Blick eine ng Änderungs-Direktive, die die Funktion auslöst searchProduct()
und beginnt sofort mit einer ng-model
Direktive zu suchen.
<div ng-controller="myCtrl" ng-app="myApp">
<input type="text"
ng-change="searchProduct()"
ng-model="searchFilter"
ng-model-options="{ updateOn: 'default blur', debounce: { 'default': 500, 'blur': 0 } }">
<ng-view></ng-view>
</div>
Als die searchProduct()
Funktion
$scope.searchProduct = function() {
$location.path('content2');
$location.search({
searchFilter: $scope.searchFilter
});
};
alles richtig funktioniert. Aber das Problem ist, dass ich das gleiche Feature auf einer anderen Seite mit einer anderen URL implementieren möchte (dies ist für SEO-Zwecke), so dass bei der Suche auf dieser Seite würde es auf content2.html umleiten, und es würde auch beibehalten, was hat wurde in das Suchfeld eingegeben.
Ich habe versucht, es durch Festlegen eines absoluten Pfades zu tun, aber es scheint nicht zu funktionieren. Sie können a working plunker with the code here sehen. Danke im Voraus!
nicht ganz verstehen die Frage, aber haben Sie versucht, das Suche-Feld in einer übergeordneten Ansicht setzen, und die Schalen Seiten Kind Ansichten machen? Sie können auch ng-include verwenden, um die Ansichten gemäß einer Logik in einer Funktion innerhalb Ihres Hauptcontrollers zu wechseln. – afkplus
Ich weiß, es ist ein bisschen verdreht. Der Punkt ist, dass eine der Seiten, ich möchte es eine eigene andere URL haben, aus SEO Gründen – Joe82
Ich habe den letzten Absatz bearbeitet, ich hoffe, es klärt, was ich erreichen will :) – Joe82