Używałem do tego wcześniejszej trasy i działało dobrze, ale w przypadku Routera UI, odnośniki nie są już klikalne lub przynajmniej przez większość czasu nie są. Gdy są bardzo losowe, nie wyświetlają szablonów html, których używam.Ui-sref nie generuje klikalnych linków/nie działa
HTML:
<head>
<title>Tutorial</title>
<script src="lib/angular/angular.js"></script>
<script src="lib/angular/angular-ui-router.min.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
</head>
<body>
<ng-view></ng-view>
<ul class="menu">
<li><a ui-sref="view1">view1</a></li>
<li><a ui-sref="view2">view2</a></li>
</ul>
js
angular.module('myApp', [
'myApp.controllers',
'ui.router'
]);
angular.module('myApp').config(function($stateProvider, $urlRouterProvider) {
$stateProvider.state('view1',{
url: '/view1',
controller:'Controller1',
templateUrl:'/view1.html'
}).state('view2', {
url: '/view2/:firstname/:lastname',
controller: 'Controller2',
resolve: {
names: function() {
return ['Misko', 'Vojta', 'Brad'];
}
},
templateUrl: '/view2.html'
});
$urlRouterProvider.otherwise('/view1');
});
angular.module('myApp.controllers', []).controller('Controller1', function($scope, $location, $state) {
$scope.loadView2=function() {
$state.go('view2', {
firstname: $scope.firstname,
lastname: $scope.lastname
});
};
}).controller('Controller2', function($scope, $stateParams, names) {
$scope.firstname = $stateParams.firstname;
$scope.lastname = $stateParams.lastname;
$scope.names = names;
});
jestem postępując zgodnie z instrukcjami w ebook SitePoint na angularjs, więc nie jestem pewien, co mam robienie źle lub tego, co przegapiłem.
http://plnkr.co/edit/amh3nZmyB7lC2IQi3DIn
Nie widzę "ui-view" w dowolnym miejscu znaczników, więc poglądy stanów najprawdopodobniej nie zostaną wyrenderowane i wstawione – JAAulde
@JAAulde Czy powinienem używać tego zamiast ng-view lub w połączeniu z nim? –
Pojedynczy 'ui-view' powinien istnieć w głównym pliku HTML. Twoje stany najwyższego poziomu będą renderowane i tam wstrzykiwane. Nie powinieneś potrzebować 'ng-view'. Stany mogą mieć podstan, a każdy szablon stanu, który ma podstan powinien mieć "widok ui", w którym będą wstawiane jego renderowane podstan. – JAAulde