2017-05-02 2 views
0

Ich möchte ein div mit einer navbar darin anzeigen/verbergen. Immer wenn die URL/Profil darin hat, möchte ich, dass sie die Navigationsleiste anzeigt. In diesem Moment habe ich dies:URL für angegebene Zeichenfolge prüfen

JS

app.controller('MainCtrl',['$scope', '$location', function($scope, $location) { 
    $scope.isActive = function(viewLocation) { 
     return viewLocation === $location.path(); 
    }; 
    $scope.$location = $location; 
}]); 

HTML

<div ng-show="isActive('/profile')" ng-controller="MainCtrl"> 

An dieser Stelle sei nur die div zeigt, wenn sein:

www.randomwensite.com/ Profil

Aber wenn ich eine Seite weiter gehe, ist es weg.

Ich möchte es zeigen, wenn die gesamte URL/Profil enthält.

So: www.randomwebsite.com/profile/shop/edit

oder: www.randomwebsite.com/profile/account

Jede Idee, wie ich wäre in der Lage zu bekommen das getan?

+0

Mögliches Duplikat [Wie kann man prüfen, ob ein String "Starts" eine andere Zeichenfolge?] Zu finden (http://stackoverflow.com/questions/646628/how -to-check-wenn-eine-string-startswith-another-string) – Mistalis

Antwort

0

Verwendung indexOf eine Zeichenkette in einem String

app.controller('MainCtrl',['$scope', '$location', function($scope, $location) { 
    $scope.isActive = function(viewLocation) { 
     return $location.path().indexOf(viewLocation); 
    }; 
    $scope.$location = $location; 
}]); 
+0

Als ich 'indexOf' versuchte, schien es nicht zu funktionieren, als ich das für' includes' änderte, funktioniert es. Trotzdem danke! –

+0

Entschuldigung, was meinst du mit out für 'includes' –

+1

Ich tauschte die .indexOf in diesem:' return $ location.path(). IndexOf (viewLocation); 'zu .includes:' return $ location.path(). Enthält (viewLocation); '. –

Verwandte Themen