У меня есть контроллер, как это:Использование регулярных выражений в View
function Ctrl($scope){
$scope.str = " Misty Mountain Hop ";
}
и вид, как это:
<div ng-controller="Ctrl">
<p>{{ str }}</p> <!-- This one is ok -->
<p>{{ str.split("Mountain")[0] }}</p> <!--Even this one is fine too -->
<p>{{ str.replace(/Mountain/ , "Plain") }}</p> <!-- This one is bad -->
</div>
Так что, если я пытаюсь использовать метод replace
, он дает ошибку:
Syntax Error: Token 'Mountain' is unexpected ...
Вопрос: Почему?
Как я могу воспроизвести это в скрипке, с которой вы связались? Нажатие «Запуск» не вызывает никаких ошибок, оно просто печатает код (не заменяется). –
Вы можете обойти это с помощью конструктора 'RegExp':' str.replace (новый RegExp ('Mountain'), 'Plain') '. Обратите внимание, что нет разделителей, вам нужно удвоить все обратные косые черты и модификаторы перейти во второй параметр [см. MDN] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) –
Кстати, почему вы пытаетесь сделать эту логику в HTML? Я думаю, что HTML представляет только «Просмотр» (MVC) –