2016-01-23 4 views
2

Я хотел бы передать функцию с директивой BootstrapUI. Обычно атрибутом является строка, но мне нужно сделать вызов AJAX для предоставления атрибута директиве. В настоящее время popover отображает функцию как строку, например. "showItem (one)", а не результат вызова функции, например. "Предмет один". Благодаря!AngularJS и BootstrapUI - функция передачи и аргумент в директиву BootstrapUI

HTML,

<li ng-repeat="item in items" 
     popover-placement="top" 
     popover-trigger="mouseenter" 
     uib-popover="showItem({{item.id}})"> 
     {{item.id}} 
    </li> 

The JS

app.controller("uibController", ["$scope", function ($scope) { 
$scope.items = [ 
    {id: "one"}, 
    {id: "two"}, 
    {id: "three"} 
]; 
$scope.showItem = function(item){ 
    $http.get('url').success(function(response){ 
    //data for popover directive 
    return "Item is " + item.id; 
}) 

}; 
}]); 

Codepen http://codepen.io/anon/pen/PZQOdY

ответ

1

<div ng-repeat="item in items" 
 
      popover-placement="bottom" 
 
      popover-trigger="mouseenter" 
 
      uib-popover="{{showItem(item)}}"> 
 
      {{item.id}} 
 
     \t </div>

+1

р лизинг обновит вашу html-разметку, в указанном выше порядке – saikumar

+0

Я вроде как не смог здесь, это работает нормально, но я должен был издеваться над ajax-вызовом в showItem, я попытаюсь отредактировать codepen, чтобы имитировать ответ ajax. Спасибо – doku

+0

Я не получаю, вы можете обновить код coden ... – saikumar

Смежные вопросы