来自Bootstrap-UI Typeahead模板的angularjs – 访问控制器范围

前端之家收集整理的这篇文章主要介绍了来自Bootstrap-UI Typeahead模板的angularjs – 访问控制器范围前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法使用ui-typeahead从自定义模板中调用控制器函数
<input typeahead="val for val in autoComplete($viewValue)"
  typeahead-template-url="searchAutocompleteTpl.html"  
  ng-model="query"/>

<script type="text/ng-template" id="searchAutocompleteTpl.html">
  <span ng-repeat="eqp in match.model.equipment"/>
    <a href="" ng-click="showItem(eqp.model)">
      found in: {{eqp.model}}
    </a>
</script>

问题是控制器的范围似乎在模板中不存在:

showItem(eqp.model)

从来没有叫过我也试过:

$parent.showItem(eqp.model)

无济于事

那么如何调用控制器范围的函数/值呢?

解决方法

我碰到同样的问题,看了一下 typeahead code on github,看看是否可以提供任何线索.在创建建议列表中有几个指令涉及,每个都有自己的子范围.

换句话说,你的$parent.showItem(eqp.model)是一个很好的尝试,但是你没有达到足够的水平.对我有用的是:$parent.$parent.$parent.showItem(eqp.model)

原文链接:https://www.f2er.com/bootstrap/234015.html

猜你在找的Bootstrap相关文章