2016-04-06 6 views
1

私がやっていることは、Angularjsの関数に電子メールアドレスを送ることです。Angularjs、lexerr Lexer Error:電子メールアドレス(正規表現)を関数に渡す方法

ここは私のコードの一部です。

<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> 

私はLaravelを使用している、と私は{{$id}}{{$order->email_address}})は右の値が含まれていることを100%確信しています。

ただし、エラーの原因となるのはError: $parse:lexerr Lexer Errorです。

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)

お気づきのとおり、値はそれぞれ1025[email protected]です。私はこのエラーが\でそれらをカバーすることによって逃げることができると思ったが、これは解決策ではなかった。

アドバイスをいただければ幸いです。 {{$order->email_address}}[email protected]を想定、実際のメールアドレスに評価されますときので、それは'/"の内側にラップしていなかったので

答えて

1

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

あなたはそう、、、$parserエラーを回避するために'(シングル/ダブルクォーテーション)で電子メールをラップする必要がある必要がありますスコープ内の変数名[email protected]を検索しようとします。&はエラーをスローします。

ng-click="tc.sendEmail({{$id}}, '{{$order->email_address}}')" 
関連する問題