2010-07-09 2 views
38

В наши дни я нахожусь в тонне jQuery, поэтому я начал абстрагироваться от некоторых распространенных вещей, которые я делаю в фрагментах. Я с нетерпением жду возможности поделиться ими с сообществом, но сейчас у меня проблема.

Литералы в фрагментах определяются путем добавления знаков доллара ($) вокруг имени литерала, чтобы разграничить, где будет стоить значение, которое вы хотели бы предоставить. Это сложно, потому что jQuery использует нотацию знака доллара, чтобы использовать множество своих функций.

Что такое escape-последовательность для фрагментов, так что я могу использовать знак доллара, и мои функции по-прежнему функционируют?

+0

Больше примечания, но не забывайте, что вы можете использовать 'jQuery' вместо' $ ' –

ответ

79

Чтобы иметь буквальное $ попробовать удваивая его: $$

+1

Это не сработало для меня на C#. –

+0

@JosephMorgan Он работал для меня в C# (VS2015 для справки). –

+0

Этот подход по-прежнему удерживает курсор в этой позиции при использовании табуляции. С этим [ответом] (http://stackoverflow.com/a/43427442/1909798) я мог бы сбежать правильно. – robsonrosa

6

Хотя ответ JQuery действительно, это лучше синтаксис использовать $ обозначения.

Я нашел ответ: присвоение символа $ символа со значением по умолчанию $.

<Literal Editable="true"> 

<ID>dollar</ID> <ToolTip>replace the dollar sign character</ToolTip> <Default>$</Default> <Function> </Function> </Literal> 
+1

Я обнаружил, что это работает в C# для использования «$» для строкового типа Formattable. –

+0

Я не был уверен, что добавление примера было комментарием или ответом, поэтому из-за длины я добавил его ниже. Он основан на этом ответе. –

15

Существует атрибут «разделитель», определенный для элемента кода. Это значение по умолчанию равно $, но вы можете установить его на другой символ, например ~ или около того.

...

<Snippet> 
<Code Language="JavaScript" Delimiter="~"><![CDATA[(function ($) { 
    $(document).ready(function() { 

    }); 
})(jQuery);]]></Code> 
</Snippet> 

...

1

Я использовал это для formattable строки в C#. Я использовал пример выше от cory-fowler дословных:

<Literal Editable="true"> 
    <ID>dollar</ID> 
    <ToolTip>Replace the dollar sign character</ToolTip> 
    <Default>$</Default> 
    <Function></Function> 
</Literal> 

Использования (разрывы строк добавлены для ясности в Stack   переполнения, а не в оригинале.):

string errMessage = $dollar$"Error occurred in 
     {MethodBase.GetCurrentMethod().Module}, in procedure 
     {MethodBase.GetCurrentMethod().Name}: {ex.Message}".ToString(); 

Спасибо, Cory-Фаулер !

14

Это правильный путь: \\$.

VSC с \\ интерпретирует, что это персонаж больше, а не комид.

+5

этот ответ должен быть принятым ответом – robsonrosa

+1

Не работает в VS2017 C# – SvdSinner

+0

VSC = Визуальный код студии –

 Смежные вопросы

  • Нет связанных вопросов^_^