正確にas @Claies said, you would need to define the ujobsCtrl
as a controller。あなたがコメントしていないその行は、定義ではありません。実際にはです.ujobsCtrlコントローラの場合はです。あなたがそれを定義していない場合(私はあなたがいないと仮定しています!)、事は間違いなく機能しません。いくつかのドキュメントをチェックアウトする:ui-router's docs on controllers;次にAngularJS's docs on Controllers。
次のコードは、使用するためのオプションのようになります。
オプション#1:あなたのコントローラとして匿名関数を使用します。
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
.state('app.userJobs', {
url: '/userJobs',
views: {
'menuContent': {
templateUrl: 'views/userJobs.html'
// controller: 'ujobsCtrl' // <-- Can't use this, it's not defined
controller: function ($scope, $log){
$log.log('yay!');
}
}
}
})
またはオプション#2、あなたは別のコントローラを定義し、 ujobsCtrl
の名前:大規模アプリケーションのために
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
.state('app.userJobs', {
url: '/userJobs',
views: {
'menuContent': {
templateUrl: 'views/userJobs.html'
controller: 'ujobsCtrl' // <-- defined below, so we can now use this
}
}
})
.controller('ujobsCtrl', function ($scope, $log){
$log.log('yay!');
})
、オプション#2は、コントローラの多くを持つクリーンな方法になるだろう - あなたはINDIにこれらを破ることができますあなたの.config
ブロックとその状態定義からそのロジックを取得してください。controllers/
しかし、サニティチェックのために、オプション#1は良いスタート地点です。
はどこかで定義された 'ujobsCtrl'ですか? (それを状態に割り当てることは、それを定義することと同じではありません)。そのファイルはあなたのアプリに含まれていますか?生成される実際のエラーは何ですか?アプリが読み込まれないと言うだけでは、多くの情報が得られません.... – Claies