2015-09-28 2 views
1

Я пытаюсь показать некоторые подробности о списке процедур с использованием функции AngularJS. Каждая процедура идентифицируется уникальным идентификатором, поэтому я использую его как параметр в функции.AngularJS ng-click work

Если я использую эту строку кода он работает

<a ng-click="showDetails(1)">Show Details</a> 

При использовании этого один не работает

<a ng-click="showDetails({{1}})">Show Details</a> 

Не следует все, что внутри двойных скобок будет решена?


EDIT: кажется очевидным, но, учитывая замечания, это не ...

Это пример, чтобы понять, почему аргумент не точно так, в моей производственной версии мне нужно выполните много предварительных вычислений, которые записывают 1 ...

+0

Нет необходимости в интерполяции по директивам. – Shikloshi

+0

- 1 переменная, которую вы установили в своем контроллере? – code

+1

Возможный дубликат [Разница между двойной и одной фигурной скобкой в ​​угловом JS?] (Http://stackoverflow.com/questions/17878560/difference-between-double-and-single-curly-brace-in-angular-js) – azium

ответ

1

Когда вы вызываете директиву, такую ​​как ng-click, вы уже оцениваете любой JS, который вы забрасываете внутри, потому что они принимают выражение.

Так что, если вы пытаетесь вызова ng-click="showDetails({{1}})" это то же самое, как вызов функции с объектом JS {} оберточной другой объект {1}. Где 1 это просто обычная строка/номер

Вы могли бы еще прочитать в этом один: Difference between double and single curly brace in angular JS?

[EDIT] Я думаю, эта ссылка может помочь вам даже больше, чем предыдущая: How to get evaluated attributes inside a custom directive

+0

спасибо, что и за ссылку – Naigel

+0

добро пожаловать! Я отредактировал ответ, чтобы добавить еще одну ссылку, которая, кажется, лучше подходит для вашего вопроса –

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