люди.
Как показывает фрагмент, домашний контроллер не работает. Я думаю, это должно сработать, но, может быть, я что-то упустил.
Я думаю, что определение контроллера не в том месте, но что-то, я не знаю, где его разместить.
Помощь - это все, что я прошу.
angular
.module("uiRouterSample",['ui.router'])
.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise("/");
$stateProvider
.state('home', {
url: '/',
controller: ['$scope', '$state',
function ($scope, $state) {
alert("Hola")
}]
})
.state('first', {
url: '/first',
views:{
"content":{
template:'<p>I\'m on the first page!</p>'
}
}
})
.state('second', {
url: '/second',
views:{
"content":{
template:'<p>I\'m on the second page!</p>'
}
}
});
});
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.js"></script>
<div ng-app="uiRouterSample">
<h1>Hello!</h1>
<a ui-sref="first">Go to first</a> |
<a ui-sref="second">Go to second</a>
<ui-view name="content"/>
</div>
Учитывая идеи Пауло Гальдо Сандалова, я достиг такого решения.
angular
.module("uiRouterSample",['ui.router'])
.run(['$rootScope',function($rootScope){
//global handlers and properties
$rootScope.origin = "I come from $rootScope!";
}])
.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise("/");
$stateProvider
.state('home', {
url: '/',
controller: ['$scope', '$state',
function ($scope, $state) {
alert("Hola")
}]
})
.state('first', {
url: '/first',
views:{
"content":{
template:'<p>I\'m on the first page!<hr/>{{origin}}</p>'
}
}
})
.state('second', {
url: '/second',
views:{
"content":{
template:'<p>I\'m on the second page!<hr/>{{origin}}</p>'
}
}
});
});
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.js"></script>
<div ng-app="uiRouterSample">
<ui-view>
<h1>Hello!</h1>
<a ui-sref="first">Go to first</a> |
<a ui-sref="second">Go to second</a>
<ui-view name="content"/>
</ui-view>
</div>
В этом формате должно быть определено исходное состояние, которое вы определили.
.state('home', {
url: '/',
views:{
"content":{
controller: ['$scope','$state',function ($scope,$state) {
alert("Hola")
}]
}
}
})
На самом деле, похоже, что ты далеко. Здесь Угловая документация для настройки контроллера, который может сделать вещи более чистыми.
Похоже, что бит не работает, это предупреждение. Если вы хотите открыть окно оповещений, вы должны посмотреть здесь документацию по углу.
И вот предыдущий вопрос, спрашивающий, как это сделать при загрузке страницы, вместо того, чтобы использовать кнопку, как в документации.
<html ng-app="app">
прямо под типом документа, тогда вы можете просто обернуть вещи, которым нужен доступ к контроллерам, в <div ng-controller="appController"></div>
и сделать ng- <div ng-include="'/path/to/page1.html'"></div>
для добавления нескольких просмотров страниц: <div ng-include="'/path/to/page1.html'"></div>
тогда вы можете иметь отдельные представления папка со всеми вашими страницами в нем. Что заставляет вещи выглядеть чище. Удачи!
$stateProvider
. Также я думаю, что вам понадобится другой пользовательскийui-view
без «контента», потому что дома нет имени представленияui-view
???