2015-03-23 2 views
0

Я работаю над проектом, используя AngularJS. То, что я пытаюсь сделать, это написать определение моего метода на моем контроллере и передать его как строку, которая будет выполняться кликом, даже на стороне клиента:

И вот пример того, что я пытаюсь сделать:

Мой контроллер:

$scope.myMethod = "add({'a':3,'b':4})"; 
add (o) 
{ 
return o.a+o.b; 
} 

Мой HTML-страница:

<button ng-click={{ myMethod }} ></button> 

Но я получаю сообщение об ошибке: [$ синтаксического анализа: синтаксическая].

Можете ли вы сказать мне, что я делаю неправильно?

ответ

1

Привязка будет вставлять всю строку:.

"content" 

То есть, он вставляет «инлайн, и так как значения атрибутов заключены», а также, вставленные "заканчивается выражение значения преждевременно визуализации HTML выглядит следующим образом:

ng-click=""add({'a':3,'b':4})"" 

Guard связывание с», как это:

ng-click="'{{myMethod}}'" 

Я не согласен с тем, как вы вставляете метод в HTML, и я уверен, что он работает, но выше будет исправлена ​​ошибка синтаксического анализа.

+0

ya Я знаю, что это не идеальный способ, но я работаю с общим программным случаем, поэтому мне нужно решение для этого, я попытался добавить ', к сожалению, он не работает: s – elmetni

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