Warum geben Sie einen "abstract: true" -Status mit einer URL an?

Ich habe heute mit Ui-Router rumgespielt, um das Gerüst in Ionic besser zu verstehen, und eine Sache, die mir aufgefallen ist, war, dass sie dem abstrahierten Status von "Tabs" eine URL geben.

Das einzige Mal, dass ich abstrakte Zustände verwendet habe, habe ich eine leere Zeichenfolge als URL verwendet und ich bemerke, dass ich den Fehler erhalte, wenn ich versehentlich versucht habe, zu einem abstrakten Zustand (im Gegensatz zum untergeordneten Zustand) zu navigieren:

Kann nicht in den abstrakten Zustand '[insertAbstractStateHere]' übergehen

bearbeiten

"Außerdem erhalte ich beim Experimentieren, wenn ich versuche, meinem abstrakten Zustand (außerhalb von Ionic) eine URL zuzuweisen und trotzdem die verschachtelten Zustandsansichten zu rendern, ein großes Gänseei. Es wird überhaupt nichts angezeigt."

die oben angegebene Aussage ist falsch! Ich habe es nochmal versucht in Plunker und die verschachtelten Zustände wurden angezeigt.

 angular.module('routingExperiments', ['ui.router'])
      .config(function($urlRouterProvider, $stateProvider) {

    $stateProvider

      .state('abstractExperiment', {
        abstract: true,
        url: '', //<--- seems as if any string can go here.
        templateUrl: 'abstractExperiment.html'
      })
      .state('abstractExperiment.test1', {
        url: '/test1',
        templateUrl: 'abstractTest1.html'
      });
  });

nscheinend habe ich es tatsächlich falsch gemacht. Also meine neue Frage ist:

Gibt es einen Grund, warum man bei der Verwendung abstrakter Zustände einen benannten Zustand anstelle eines leeren Strings verwenden würde, oder handelt es sich nur um eine Stilwahl?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage