2016-06-15 4 views
1

я получаю сообщение об ошибке: angular.js: 10627 Ошибки: [$ синтаксического анализ: синтаксис]интерполирование значения атрибута в угловом шаблоне вызывает ошибку синтаксического анализа

когда интерполирования значения в шаблоне, только тогда, когда он находится в атрибут элемента.

шаблона field_message.html:

<input type="number" ng-model="{{ model }}"> 
<div>{{ model }}</div> 

директива:

myApp.directive('ivInput', function(){ 
    return { 

     restrict: 'EA', 
     templateUrl: "field_message.html", 
     scope: { 
      model: '@ngModel' 
     } 


    }; 
}); 

вид HTML:

<div iv-input="flatK" ng-model="modelname"></div> 

В шаблоне, первый экземпляр {{модель}} вызывает ошибка синтаксического анализа. Если я удалю это, другой экземпляр правильно отобразит имя модели. Есть ли способ получить имя модели в значение для ng-модели на входном элементе?

+0

avim101

ответ

0

Работает абсолютно нормально.

<!DOCTYPE html> 
<html lang="en" ng-app="app"> 

<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.js"></script> 
    <meta charset="UTF-8"> 




</head> 

<body ng-controller="ctrl"> 
    <div iv-input="flatK" ng-model="modelname"></div> 
    <span>{{modelname}}</span> 

    <script> 
     var app = angular.module('app', []); 
app.directive('ivInput', function(){ 
    return { 

     restrict: 'EA', 
     template: "<input type='number' ng-model='ngModel'>"+ 
"<div>{{ model }}</div>", 
     scope: { 
      ngModel:'=' 
     } 


    }; 
}); 
app.controller('ctrl',function($scope){ 
$scope.modelname=23; 
}) 
    </script> 
    </body> 
    </html> 
Смежные вопросы