Vermeiden Sie die Verwendung von ui-view in Angular-ui-router

Wie es scheint, Angular.js ui-router muss haben ui-view um die ganze Sache zu arbeiten. Hier ist ein Beispiel ohne ui-view - und routing funktioniert NICHT (kein Alarm): http://plnkr.co/edit/e1vzj6pDdqADKJ2LSsd3?p=preview

HTML:

<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="[email protected]" src="http://code.angularjs.org/1.2.12/angular.js" data-semver="1.2.12"></script>
    <script data-require="ui-router@*" data-semver="0.2.8" src="http://angular-ui.github.io/ui-router/release/angular-ui-router.js"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <a href="#/link">Test</a>
    <!--div ui-view></div-->
  </body>

</html>

Javascript:

var app = angular.module('plunker', ['ui.router']);

app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) {

  $stateProvider
    .state("link", {
      url: "/link",
      resolve: {
        test: function() {
          alert("Triggered resolve /link");
          return true;
        }
      }
    });
}]);

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
});

Wenn Sie <div ui-view></div> zurück, es würde funktionieren.

Dies ist nicht tragisch, weil ich Sie verlassen könnte, dass ui-view leer. Ich glaube nicht, verwenden ui-view (mag seltsam klingen), weil ui-view ersetzen DOMs. Ich möchte nur Knebel meine container anstatt das zu tun, abgeschlossen rip-and-replace.

  1. Ist es der richtige Ansatz zu verlassen ui-router leer wie ein hack?

  2. Ist es eine Möglichkeit zu ui-router NICHT erforderlich ui-view?

InformationsquelleAutor HP. | 2014-02-12
Schreibe einen Kommentar