2013-09-30 5 views
0

У меня есть реферальная ссылка, которую я хотел бы предоставить, но мне интересно, могу ли я встроить переменную в вызов функции, который уже является литералом.вызов угловой функции coffeescript

В мой контроллер:

$scope.get_share_link = (link) -> 
    text = "http://www.whatever.com/share?u=" + encodeURIComponent(link) 
    text 

На мой взгляд (CoffeeScript).

%a{:href=>"{{ get_share_link(link_url) }}"} 
    share 

Могу ли я это сделать? В настоящее время я получаю http://www.whatever.com/share?u=link, который, конечно же, не разрешает link.

+0

снова использовать только двойные кавычки, если вы используете интерполяцию строк. – Soviut

ответ

0

OK, отсортирован. Я смотрел видео egghead.io, и я не знал о фильтрах, которые будут использоваться как вызовы функций! Теперь я чувствую себя глупо.

%a{:href=>"http://www.whatever.com/u={{link | encodeURIComponent}}"} 
0

Честно говоря, я не уверен, что вы можете делать то, что вы написали, но я уверен, что это работает.

$scope.get_share_link = function(link) { 
    return 'http://www.whatever.com/share?u=' + encodeURIComponent(link); 
}; 

затем:

$scope.get_share_link("myurl") 

возвращается: http://www.whatever.com/share?u=myurl.

0

Вам нужно иметь $ scope.link_url где некоторые

$scope.link_url = "http://google.com" 

$scope.get_share_link = (link) -> 
    "http://www.whatever.com/share?u=" + encodeURIComponent(link) 

Проверить здесь рабочий пример http://jsbin.com/esuRIZo/2/edit?html,js,output

+0

CoffeeScript интерполирует двойные кавычки, поэтому вы должны использовать их только в ситуациях, когда вы планируете использовать переменные или выражения в строке. Забавно, ваша вторая строка была бы идеальна для этого, '' http://www.whatever.com/share?u=#{encodeURLComponent(link)} "'. Однако ваша первая строка должна быть одинарной кавычкой. – Soviut

+0

'link_url' уже существует. Он специфичен для каждой из записей, поэтому 'link_url' будет отличаться для каждого экземпляра' ng-repeat'. Это не в глобальном масштабе. –

+0

@ calico-cat предоставляет пример с ошибкой –

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