区分一个页面上多个UI-Select控件之间的箭头单击

时间:2015-01-14 20:38:51

标签: angularjs ui-select

您好我想自定义ui-select一点的行为。我在templatecaches的帮助下在我的页面上使用了两个bootstap主题ui-select控件。在模板中,我使用ng-click标签连接箭头按钮单击事件。这样我就可以轻松地在箭头按钮上捕获click事件,在我的控制器中我可以使用函数打开一个弹出窗口,例如:

<button ng-click = "someFunctionInTheScope()">

例如,如果我在视图中有两个ui-select元素,我需要区分单击哪个箭头按钮以显示正确的弹出窗口。由于我在两个ui-select控件上使用相同的模板,因为理论上我可以在页面上有任意数量的这些控件,我不能轻易地在模板中的方法中添加一个参数来区分哪个ui-哪个箭头图像单击选择控件:

<button ng-click= "someFunctionInTheScope(1)">

因为两个ui-select控件都使用相同的模板代码,并且1将被传递给它们的控制器函数。

因此,我需要找到一种更聪明的方法来动态更改模板一次和每个控件。

所以我想到了像

这样的东西
<button ng-click= "someFunctionInTheScope($select.id)">

但是当我调试它时,我看到每次单击时函数参数都是未定义的。

有人可以告诉我如何破解这个吗?

1 个答案:

答案 0 :(得分:1)

id对象上没有$select属性。你最好的选择是通过包含ui-select框的元素的范围传递一些东西。换句话说,您的代码需要为您拥有的每个ui-select框生成唯一标识符。这可能是$index块的ng-repeat属性,时间戳或依赖于其他上下文的内容。

更多上下文,我可以提供更具体的答案。