2016-07-22 80 views
0

当用户选择某个项目时,我正在使用AngularStrap typeahead并需要回调。根据documentation,还有一个选项onSelect,其可与一个function被供给,并且:AngularStrap typeahead,如何使用事件回调

如果提供,当一个项目被选中这个功能将被调用。

......还有......

选项可以通过数据属性的指令或作为对象的哈希配置的服务传递。对于数据属性,将选项名称附加到data-,如data-animation =“”中所示。

所以,我想如下使用它:

<input type="text" 
     class="form-control" 
     ng-model="selection" 
     bs-options="item for item in items" 
     bs-typeahead 
     data-on-select="onSelect"> 

并提供我的控制器内的onSelect()方法:

$scope.onSelect = function() { 
    console.log('this never gets called :('); 
}; 

然而,回调是永远不会被调用。我在这里错过的任何东西?


[编辑] dfsq指出,它应该是bs-on-select,关于图书馆的资源。我只是尝试过这个变体,但是这个事件只会被触发一次。我创建了this Plunker来说明我的问题;在“选择事件的数量”自然应该是一个选择递增,但它仍然是1

+0

你已经传递函数的名称,而不是对该函数的调用....使用“onSelect” – Vanojx1

+0

你有没有尝试过'选择数据'onSelect''? –

+0

对不起,这是一个愚蠢的时候放在一起的例子。实际的例子在这方面是“正确的”,并且仍然没有**工作。修复帖子。 – qqilihq

回答

1

看起来这是在评论由@Vanojx1回答,它应该是:

bs-on-select="onSelect" 

我已经用这个改变更新了Plunker并且它可以工作(但是,直到输入失去焦点,它才调用该方法)。