2016-04-06 9 views
1

Yapmaya çalıştığım şey, Angularjs işlevine bir e-posta adresi göndermektir.Angularjs, lexerr Lexer Hatası: Bir işlev için e-posta adresi (regex) nasıl aktarılır

İşte kodumun bir parçası.

<script> 
//For the sake of simplicity, I omitted the descriptions for the module and service 
this.sendEmail = function(id, emailAddress){ 
     // The "emailAddress" parameter is required. 
}; 
</script> 

<button name="sendEmail" type="button" ng-click='tc.sendEmail({{$id}}, {{$order->email_address}})'>Send the mail</button> 

Ben laravel kullanıyorum ve ben {{$id}} ve {{$order->email_address}}) doğru değerleri içeren% 100 emin değilim. Ancak, bu, Error: $parse:lexerr Lexer Error hataya neden olur.

angular.js:12520Error: [$parse:lexerr] http://errors.angularjs.org/1.4.8/ $parse/lexerr?p0=Unexpected%20nextharacter%20&p1=s%2043-43%20%5B%40%5D&p2=tc.sendEmail(1025%2C%20example1000%40gmail.com)

Fark edeceğiniz gibi

, değerler sırasıyla 1025 ve [email protected] bulunmaktadır. Bu hatanın \ ile kaplanmasıyla kurtulabileceğini düşündüm, ancak bu bir çözüm değildi.

Herhangi bir tavsiye memnuniyetle karşılanacaktır. {{$order->email_address}}[email protected] varsayalım gerçek e-posta adresine değerlendirildiğinde aldığında çünkü '/" içine sarın değildi bu yüzden

cevap

1

I assumed that you must have different symbols(other than {{}}) for bindings.

Öyle,, $parser hatayı önlemek için ' (tek/çift tırnak) ile e-posta sarmak için gerektiğinde & bir kapsam içinde değişken adı [email protected] aramaya çalışır.

ng-click="tc.sendEmail({{$id}}, '{{$order->email_address}}')"