Передача данных из моего бритвы в мой файл JS - PullRequest
0 голосов
/ 08 марта 2012

Я ищу лучший способ передать данные из моего бритвы в файл js .Например, допустим, у нас есть файл jquery, настроенный в файле js.Для текста кнопок в этом диалоге я бы хотел его локализовать (через файлы ресурсов FR / NL / UK).Переводы доступны с @ UserResource.ButtonDelete + @ UserResource.ButtonCancel

Ниже приведены различные решения, которые я вижу:

  1. Использование симпатичного RazorJS пакет nuget, чтобы разрешить бритвенный код внутри моего файла JavaScript.Это работает довольно хорошо.Но вопрос в следующем: Это плохая практика для компиляции файлов js для использования синтаксиса бритвы внутри сценариев?

  2. Объявление глобальных переменных в файле сценария jsи присвойте значение из вида следующим образом:

В представлении:

<script>
        var labelButtonDelete = @UserResource.ButtonDelete;
</script>

В файле js:

alert('The text for my button is ' + labelButtonDelete);

Что такоелучший способ передать данные из бритвы в файл JS?У вас есть другая альтернатива?

В любом случае, спасибо.

1 Ответ

1 голос
/ 09 марта 2012

Я уже некоторое время без проблем использую что-то вроде вашего второго подхода.Единственное отличие состоит в том, что я использую singleton в своем JS-файле, чтобы не загрязнять глобальное пространство имен javascript.

Но если вы будете делать более серьезные вещи на стороне клиента, ваш код Javascriptбудет следовать более объектно-ориентированной структуре, и оттуда вы почти автоматически получите единственный путь инициализации / конструктора, по которому вы можете передать свои локализованные значения.

Это RazorJS выглядит хорошо, но я не уверен, что яудобное смешивание Javascript с Razor.Можно сделать это для небольшого проекта, но я вижу, что он становится очень грязным, если у вас много файлов Javascript.

В конце концов, я все еще считаю, что код ресурсов / локализации связан с представлением.На мой взгляд, Javascript должен реализовывать только функциональность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...