Javascript 引导Typeahead未在AngularJS ng视图中注册

Javascript 引导Typeahead未在AngularJS ng视图中注册,javascript,twitter-bootstrap,angularjs,bootstrap-typeahead,Javascript,Twitter Bootstrap,Angularjs,Bootstrap Typeahead,我试图让Twitter引导的Typeahead功能在AngularJS ng视图中工作,但是Javascript调用没有注册服务 我知道AngularJS实现了引导,但目前我不得不使用“原始”引导 AngularUI引导:不会触发“更新程序”事件,$watch会导致奇怪的副作用。 ng change在键入和键入预选内容时激发。我只想要一个提前打印的选项 $watch未对预先键入的选择触发,尝试找到插入$digest的正确位置失败 AngularStrap:触发一个typeahead upd

我试图让Twitter引导的Typeahead功能在AngularJS ng视图中工作,但是Javascript调用没有注册服务

我知道AngularJS实现了引导,但目前我不得不使用“原始”引导

  • AngularUI引导:不会触发“更新程序”事件,
    $watch
    会导致奇怪的副作用。
    • ng change
      在键入和键入预选内容时激发。我只想要一个提前打印的选项
    • $watch
      未对预先键入的选择触发,尝试找到插入
      $digest
      的正确位置失败
  • AngularStrap:触发一个
    typeahead updated
    事件,但在多个typeahead的情况下不区分它来自何处(我有)
如果我预先设置了一个“仅HTML”类型,它可以工作:

<input type="text" id="textbox_EMPID" class="span6" placeholder="8675309" data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska","Arizona"'>
若我在字段上调用其他jQuery操作,它就可以工作了。例如,当将字段放置在相同的
块中时,以下内容将隐藏该字段:

$('textbox_EMPID').hide();
调用下面的确实成功,表明
typeahead
功能可用:

if(jQuery().typeahead) { alert("yes"); }
但是,
typeahead
的“source”部分永远不会被调用。我省略了
$.get()
请求的细节,因为
控制台.log()
也从未出现过


我将这段代码从我编写的一个非AngularJS页面转移过来,在那里它工作得很好。我不清楚我遗漏了什么,这会导致
ng视图中的内容被异步加载。页面首次加载时,在
ng视图
内容出现之前,JavaScript是否可能正在运行?如果您将JavaScript放在一个指令中,并将该指令附加到您的文本字段中,您应该可以开始了。混合使用传统的“全局”jQuery方法和AngularUI是一种令人沮丧的方法。您能否详细介绍一下“AngularUI引导程序:不会触发“更新程序”事件,$watch会产生奇怪的副作用”?什么是“奇怪的副作用”?您是否尝试使用
ng change
捕获选择?你的用例是什么?@BrandonTilley,的确,混合是一种令人沮丧的方法!:)HTML和Javascript在同一个文件中,因此它们同时加载;在球场上呼吁其他行动似乎是可行的,只是前面的行动不起作用。我将尝试指令route.@pkozlowski.opensource,我尝试了
ng change
但它触发得太频繁了。我已经用更多的细节更新了我的问题。@添加匹配选择上的EvilyClosetMonkey通知非常简单,因此如果您有一个好的用例,请随时在中提出问题
$('textbox_EMPID').hide();
if(jQuery().typeahead) { alert("yes"); }