0

嗨,我想自定义 ui-select 一点点的行为。在模板缓存的帮助下,我在页面上使用了两个以引导程序为主题的 ui-select 控件。在模板中,我使用 ng-click 标记连接了箭头按钮单击事件。这样我可以很容易地捕捉到箭头按钮上的点击事件,并且在我的控制器中我可以使用函数打开一个弹出窗口,例如:

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

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

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

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

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

所以我想有类似的东西

<button ng-click= "someFunctionInTheScope($select.id)">

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

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

4

1 回答 1

1

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

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

于 2015-01-19T06:02:58.420 回答