您好我想自定义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)">
但是当我调试它时,我看到每次单击时函数参数都是未定义的。
有人可以告诉我如何破解这个吗?
答案 0 :(得分:1)
id
对象上没有$select
属性。你最好的选择是通过包含ui-select框的元素的范围传递一些东西。换句话说,您的代码需要为您拥有的每个ui-select框生成唯一标识符。这可能是$index
块的ng-repeat
属性,时间戳或依赖于其他上下文的内容。
更多上下文,我可以提供更具体的答案。