Я получаю WARNING: Tried to load angular more than once.
при попытке использовать вложенные виды в Ruby on Rails и Angular app. Я использую ui-router и угловые рельсы-шаблоны.AngularJS загрузка более одного раза при использовании вложенных состояний
Угловые конфигурации и контроллеры:
var app = angular.module('app', ['ui.router', 'templates']);
app.factory('categories', ['$http', function($http) {
var o = {
categories: []
};
o.get = function (id) {
return $http.get('/categories/' + id + '.json').then(function (res) {
return res.data;
});
};
return o;
}]);
app.config([
'$stateProvider',
'$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'home/_home.html',
controller: 'MainCtrl',
});
$stateProvider
.state('home.categories', {
url: '/categories/:categoryId',
templateUrl: 'categories/_categories.html',
controller: 'CategoriesCtrl',
resolve: {
category: ['$stateParams', 'categories', function($stateParams, categories) {
return categories.get($stateParams.categoryId);
}]
}
});
$urlRouterProvider.otherwise('/home');
}]);
app.controller('MainCtrl', function ($state) {
$state.transitionTo('home.categories');
});
app.controller('CategoriesCtrl', [
'$scope',
'categories',
'category',
function($scope, categories, category) {
$scope.posts = category.posts;
}
]);
И шаблоны:
_home.html (*edited:
удален body
и ng-app
из этого шаблона, следуя @apneadiving советы, и использовать правильный путь, как указывалось by @Pankaj Теперь, виды отображаются правильно, но 'loading more than once'
не поддерживается)
<a href="#/home/categories/1">Category One</a>
<a href="#/home/categories/2">Category Two</a>
<ui-view></ui-view>
_categories.html
<ul ng-repeat="post in posts">
<li>{{post.title}}</li>
</ul>
приложение/просмотров/макеты/application.html.erb
<!--<rails head>-->
<body ng-app="app">
<ui-view></ui-view>
</body>
Что происходит в том, что государство 'дом' появляется и когда я нажимаю на ссылки, по URL но ничего больше не происходит. И я получаю сообщение о том, что Angular загружается более одного раза.
EDITED: Получил его работу. Это был конфликт <%= yield %>
в другой части приложения, который не должен иметь ничего общего с угловой частью.
Вы уверены, что у вас есть только один нг-приложение? – apneadiving