Если я передаю строку php в Angular JS, это дает мне следующую ошибку:
Ошибка: [$ parse: lexerr] Ошибка Lexer: неожиданный следующий символ в столбцах 54-54 [#] в выражении
Я пытаюсь передать строку в угловую, чтобы показать диалог:
<md-button class="md-primary md-raised" ng-click="showAlert($event, '<?php echo htmlspecialchars($list['Shipment']['notes']) ;?>', 'Notes')" flex="" flex-md="100" md-theme="cyan">
Есть ли способ обойти эту ошибку?
Ответ состоял в том, чтобы префикс строки с помощью php function addslashes()
Не очень приятно, что вы хотите, но делайте это:
<?= '<md-button class="md-primary md-raised" ng-click="showAlert($event, \'' . htmlspecialchars($list['Shipment']['notes']) . '\', \'Notes\')" flex="" flex-md="100" md-theme="cyan">'; ?>
'<?php echo htmlspecialchars($list['Shipment']['notes']) ;?>'
to"<?php echo htmlspecialchars($list['Shipment']['notes']) ;?>"
you заканчивают строку в'Shipment'
<?php $desc = $item["OfferItem"]["description"] ; $nme = $item["OfferItem"]["name"]; ?> <md-button class="md-primary md-raised" ng-click="showAlert($event, '<?php echo $desc; ?>', 'Description for ' + '<?php echo $nme; ?>')" flex="" flex-md="100" >
даже с этим кодом выдает ошибку: Ошибка: [$ parse: lexerr] Ошибка Lexer: неопределенная кавычка в столбцах 398-400 [') ] в выражении