AngularJS ui-router : impossible de résoudre le___ de l'état ___ Erreur

Je suis le long de cette année, vieux ui-router tutoriel http://txt.fliglio.com/2013/05/angularjs-state-management-with-ui-router/ et j'obtiens l'erreur suivante:

Error: Could not resolve 'settings/quotes' from state 'settings'

AngularJS ui-router : impossible de résoudre le___ de l'état ___ Erreur

Je suis à côté de ce tutoriel app dans mon Express.JS installation et je suis à l'aide de Jade pour mes modèles.

Tous les Jade modèles semblent être rendu correctement, mais je suis en remarquant qu'il n'y a pas de href créé pour l' Utilisateur Citations (settings/quotes URL) ui-sref lien. Peut-être il y a une idée de là. Vous pouvez le voir dans la capture d'écran ci-dessous:

AngularJS ui-router : impossible de résoudre le___ de l'état ___ Erreur

Je vais poster tous les fichiers de clés ci-dessous.


AngularJS Fichiers

app.js

'use strict';

var app = angular.module('app', ['ui.router']);

app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {

      $urlRouterProvider.otherwise('/');

            var settings = {
                name: 'settings',
                url: '/settings',
                abstract: true,
                templateUrl: '/partials/settings',
                controller: 'SettingsController'
            };

            var details = {
                name: 'settings.details',
                parent: settings,
                url: '',
                templateUrl: '/partials/settings-details'
            };

            var quotes = {
                name: 'settings.quotes',
                parent: settings,
                url: '/quotes',
                templateUrl: '/partials/settings-quotes'
            };

            $stateProvider
                .state(settings)
                .state(details)
                .state(quotes);
}])
.controller('SettingsController', ['$scope', function($scope) {
    $scope.user = {
        name: "Bob Loblaw",
        email: "[email protected]",
        password: "semi secret",
        quotes: "I am making it happen now!"
    };
}]);

Jade Modèles

mise en page.jade

doctype html 
html
    include head
    body(ng-app='app')
        p From the layout.jade file
        <div ui-view></div>
        include scripts

paramètres.jade

ul
    li Settings
    li 
        a(ui-sref="settings") User Details
    li 
        a(ui-sref="settings/quotes") User Quotes
    div(ui-view="")

paramètres-détails.jade

h3 {{user.name}}\'s Quotes
hr
div
    label Quotes
        textarea(type="text", ng-model="user.quotes")
button(ng-click="done()") Save

paramètres de prix.jade

h3 {{user.name}}\'s Details
hr
div
    label Name
        input(type="text", ng-model="user.name")
div
    label Email
        input(type="text", ng-model="user.email")
button(ng-click="done()") Save

ExpressJS Serveur

server.js

var express = require('express'),
mongoose = require('mongoose'),
morgan = require('morgan'),
bodyParser = require('body-parser'),
path = require('path');

var env = processus.env.NODE_ENV = processus.env.NODE_ENV | | le "développement";

var app = express();

//configuration
app.set('views', path.join(__dirname, '/app/views'));
app.set('view engine', 'jade');
app.use(morgan('dev')); //logs every request to console
app.use(bodyParser()); //pull information from html in POST
app.use(express.static(__dirname + '/public'));
//connect to mongodb via mongoose
if(env === 'development') {
mongoose.connect('mongodb://localhost/3lf');
} else {
mongoose.connect('mongodb://maxmythic:[email protected]:33307/3lf');
}
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error ...'));
db.once('open', function(callback) {
console.log('3lf db is open for business ...');
});
//create mongoose schema and retrieve data
var messageSchema = mongoose.Schema({message: String});
var Message = mongoose.model('Message', messageSchema);
var mongoMessage;
Message.findOne().exec(function(err, messageDoc){
mongoMessage = messageDoc.message;
});
//define routes
//make sure to coordinate client side and server side routes
app.get('/partials/:partialPath', function(req, res) {
res.render('partials/' + req.params.partialPath); 
});
app.get('*', function(req, res) {
res.render('index', {
mongoMessage: mongoMessage
});
});
var port = process.env.PORT || 3030;
app.listen(port);
console.log('Listening on port ' + port + '...');
  • Wow, c'est un vrai mot de passe pour MongoLAB? 🙂
  • Excellente utilisation de l'arrêté de développement
InformationsquelleAutor | 2014-07-30