夥計。angularjs&ui-router - 爲什麼家裏的控制器不工作?
正如片段所示,家裏的控制器不工作。我認爲它應該有效,但也許我錯過了一些東西。
我在想控制器定義是在錯誤的地方,但那是事情,我不知道該把它放在哪裏。
幫助是我所要求的。
angular
\t .module("uiRouterSample",['ui.router'])
\t .config(function($stateProvider, $urlRouterProvider){
\t \t $urlRouterProvider.otherwise("/");
\t \t $stateProvider
\t \t \t .state('home', {
\t \t \t \t url: '/',
controller: ['$scope', '$state',
function ($scope, $state) {
alert("Hola")
}]
\t \t \t })
\t \t \t .state('first', {
\t \t \t \t url: '/first',
views:{
"content":{
template:'<p>I\'m on the first page!</p>'
}
}
\t \t \t })
\t \t \t .state('second', {
\t \t \t \t url: '/second',
views:{
"content":{
template:'<p>I\'m on the second page!</p>'
}
}
\t \t \t });
\t });
<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>
是啊,這是一個錯誤的地點來定義一個控制器。它應該在另一個具有唯一名稱的文件中。這個名字應該在你的'$ stateProvider'中。我想你也需要另一個沒有「內容」的'ui-view',因爲家裏沒有視圖名稱 –
哦,你說得對,它對我很有用。現在,如果我將整個應用程序根目錄放在空的'ui-view'中,我會錯嗎? –
是的,如果你沒有不同的組件在一個視圖中加載,例如會話的自定義導航欄。你可以在一個視圖中完美包裝 –