【问题标题】:Angularjs dynamic ng-click binding?Angularjs动态ng-click绑定?
【发布时间】:2014-09-11 13:48:47
【问题描述】:

我正在读取一个 Json 文件并使用角度模板动态创建元素。我想将事件绑定到 json 文件中提到的 ng-click,但它会引发异常。请帮助。 提前致谢。

 <button id="{{controls.id}}" ng-click='{{controls.onAction}}' title="{{controls.tooltipText}}"
                                        ng-mouseover="mouseOver(this)" ng-mouseout="mouseOut(this)" style="font-size: 70%;
                                        border: none; border-spacing: 1px;" class="button">
                                        <img src="{{controls.imageSrc}}" class="image{{tabBoxes.Type}}" id="Img1" />
                                        {{controls.label}}
                                    </button>

【问题讨论】:

  • 最好把代码贴在这里..因为我们不是读心者

标签: angularjs templates angularjs-ng-click dynamic-binding


【解决方案1】:

在控制器中创建一个$scope.onAction()函数,将ng-click改成如下:

ng-click='onAction()'

根据评论更新:

由于函数是字符串,所以使用eval(),例如:

$scope.onAction = eval('(' + functionAsString + ')');

请参阅此answer on SO,了解如何在 JS 中使用 eval()

【讨论】:

  • 感谢您的回复。但在我的应用程序中,每个按钮都有不同的 onaction 方法。该函数是来自 json 的字符串,我正在尝试映射为单击函数。如何做。
  • 再次感谢 eval 对我不起作用。但我找到了另一种方法。 var act = new Function(e.onAction);行动();
猜你喜欢
  • 2013-08-24
  • 2016-06-16
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 2016-10-28
相关资源
最近更新 更多