Avoir un moment difficile de débogage erreur - Jeton '{' clé non valide à la colonne 2

J'ai rencontré une erreur dont je suis incapable de débogage.

form-field.html

<div class='row form-group' ng-form="{{field}}" ng-class="{ 'has-error': {{field}}.$dirty && {{field}}.$invalid }">
    <label class='col-sm-2 control-label'> {{ field | labelCase }} <span ng-if='required'>*</span></label>
    <div class='col-sm-6' ng-switch='required'>

        <input ng-switch-when='true' ng-model='record[field][0]' type='{{record[field][1]}}' class='form-control' required ng-change='update()' ng-blur='blurUpdate()' />

        <div class='input-group' ng-switch-default>
            <input ng-model='record[field][0]' type='{{record[field][1]}}' class='form-control' ng-change='update()' ng-blur='blurUpdate()' />
            <span class='input-group-btn'>
                <button class='btn btn-default' ng-click='remove(field)'><span class='glyphicon glyphicon-remove-circle'></span></button> 
            </span>
        </div>
    </div>

    <div class='col-sm-4 has-error' ng-show='{{field}}.$dirty && {{field}}.$invalid' ng-messages='{{field}}.$error'>
        <p class='control-label' ng-message='required'> {{ field | labelCase }} is required. </p>
        <p class='control-label' ng-repeat='(k, v) in types' ng-message='{{k}}'> {{ field | labelCase }} {{v[1]}}</p>
    </div>
</div>

new.html

<h2> New Contact </h2>

<form name='newContact' novalidate class='form-horizontal'>
    <form-field record='contact' field='firstName' live='false' required='true'></form-field>



 <div class='row form-group'>
        <div class='col-sm-offset-2'>
            <button class='btn btn-primary' ng-click='save()'> Create Contact </button>
        </div>
    </div>
</form>

J'obtiens l'erreur suivante:

Dans le navigateur:

Erreur: [$parse:syntaxe]
http://errors.angularjs.org/1.4.1/$parse/syntax?p0=%7B&p1=invalid%20key&p2=2&p3=%7B%7Bfield%7D%7D.%24error&p4=%7Bfield%7D%7D.%24error

Sur angulaire site:

Erreur: $parse:syntaxe Erreur de Syntaxe Erreur de Syntaxe: Token '{' clé non valide
à la colonne 2 de l'expression [{{domaine}}.$erreur] de départ à
[{champ}}.$erreur].

Ce que quelqu'un sait pourquoi? Merci!

  • Vous devez mettre à jour {{domaine}} champ à chaque fois que le référencement en ng-classe et ng-show.
  • Nikhil - il fonctionne très bien pour eux dans ce projet: github.com/tutsplus/... mais pas pour moi.
  • ng-show attribut ne devriez pas avoir de {{}} en elle. Essayez juste de "field.$dirty" à la place.
  • D'ailleurs: ce n'est que tangentiellement liés à votre question, mais si vous liez votre projet à la unminified Angulaire de la source, vous aurez lisible messages d'erreur dans le navigateur au lieu de cela irritant URL non-sens. (M'a fallu un an et demi d'agacement avant, j'ai découvert que...) il suffit de ne pas oublier de revenir à la version minifiée avant de déployer!
  • Merci pour les conseils de Daniel, je na sais que sur la version compacte. Maintenant je suis capable de trouver mes problèmes beaucoup plus facile merci!
InformationsquelleAutor Angelo | 2015-07-11