在将其应用到我的实时项目之前,我只想实现一个预输入示例。 每个示例在其网站上都可以正常运行,但对我而言却不起作用。
我已经完成:
<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>
任何建议都会受到赞赏。
答案 0 :(得分:0)
这是模板中的 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'}"