如何在自定义预先模板中访问控制器值

时间:2017-03-09 06:58:02

标签: angularjs bootstrap-typeahead twitter-typeahead angular-ui-typeahead

我在控制器中有范围值。我需要在自定义类型提前模板中显示范围值。

但是自定义模板不会访问它始终显示为空的控制器值。

在我的场景中,我需要在自定义模板中显示“scope.names”。但它显示为空。

如何在自定义模板中显示控制器值。

HTML:

<div class='container-fluid typeahead-demo' ng-controller="TypeaheadCtrl">
    <h4>Custom popup templates for typeahead's dropdown</h4>
    <pre>Model: {{customPopupSelected | json}}</pre>
    <input type="text" ng-model="customPopupSelected" placeholder="Custom popup template" uib-typeahead="state as state.name for state in statesWithFlags | filter:{name:$viewValue}" typeahead-popup-template-url="customPopupTemplate.html" class="form-control">
</div>

样本:

https://plnkr.co/edit/HEf0lipdBP5ZyuciQsDo?p=preview

1 个答案:

答案 0 :(得分:0)

您实际上$scope.names的JSON结构与uib-typeahead模板所需的内容不匹配。我更改了names数组以匹配结构模板需要如下..并且它可以工作。如果你想做其他方式,你可以保持数组相同并对模板进行更改!

$scope.names=[{
  name: "Alabama"
}, {
  name: "Alaska"
}, {
  name: "Arizona"
}];

working plnkr