我正在创建一个部分,只有在输入字段与您的电子邮件匹配时才能删除您的帐户。但是当我尝试这个时,它会得到错误:$ parse:lexerr Lexer Error 。
我的HTML
<input
type="text"
value=""
ng-model="query"
ng-model-options='{ debounce: 500 }'
ng-change="checkAccountEmail(query,{{ Auth::user()->email }})"
ng-placeholder="Enter your email here">
<a ng-disabled="!enableDelete" href="/delete/account/{{ Auth::user()->id }}">Delete</a>
我的控制器:
gloopsApp.controller('DeleteAccountController', ['$scope', function($scope) {
$scope.enableDelete = false;
$scope.checkAccountEmail = function(input,name) {
if (input == name) {
$scope.enableDelete = true;
}
else {
$scope.enableDelete = false;
}
};
}]);
错误:
Lexer错误:第38-38列[@]中出现意外的下一个字符 表达式[checkAccountEmail(query,test @ gmail.com)。
答案 0 :(得分:1)
问题是您直接输出电子邮件而不是引用它。所以结果将是这样的:
checkAccountEmail(query, email@test.com)
当你明白这个时:
checkAccountEmail(query, 'email@test.com')
要做到这一点,只需改变它:
ng-change="checkAccountEmail(query,{{ Auth::user()->email }})"
对此:
ng-change="checkAccountEmail(query,'{{ Auth::user()->email }}')"