【问题标题】:TypeError: s.position is not a function for typeahead in angularjsTypeError:s.position 不是 angularjs 中 typeahead 的函数
【发布时间】:2019-02-03 05:05:13
【问题描述】:

我只想在应用到我的实时项目之前实现一个预先输入的示例。 每个示例在他们的网站上都可以正常工作,但对我不起作用。

我已经完成了:

<input id='itemInput' type="text" ng-model="item" placeholder="Item Name" typeahead="item as item.Index for item in states | filter:$viewValue" class="form-control">

模板:

<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+'px', left: position().left+'px'}" role="listbox" aria-hidden="{{!isOpen()}}">
    <li class="uib-typeahead-match" ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index, $event)" role="option" id="{{::match.id}}">
        <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>
    </li>
</ul>

附:

var app = angular.module('MascoDyeing', ["ngRoute", "ngMaterial", "md.time.picker", 'long2know',
    'ngSanitize',
    'ui.bootstrap',
    'ui.bootstrap.typeahead',
    'ui.router',
    'ngRoute',
    'ui']);

脚本

<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.0.js"></script>

如有任何建议,我们将不胜感激。

【问题讨论】:

标签: angularjs typeahead.js ui.bootstrap


【解决方案1】:

这是模板中的 ng-style-part:

ng-style="{top: position().top+'px', left: position().left+'px'}"

在某些情况下,位置是一个对象而不是一个函数。 您可以尝试以这种方式解决它:

ng-style="{top: (position.top || position().top)+'px', left: (position.left || position().left)+'px'}"

【讨论】:

    猜你喜欢
    • 2016-11-14
    • 2015-02-13
    • 2023-04-05
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多