#javascript #angularjs #twitter-bootstrap #angularjs-directive #angular-strap
#javascript #angularjs #twitter-bootstrap #angularjs-директива #angular-strap
Вопрос:
У меня возникли проблемы с использованием сервиса AngularStrap $dropdown
. Как показывает следующий фрагмент, я могу заставить его правильно реагировать на события, но я не понял, как заполнить его программными средствами (т. Е. из директивы).
Вот фрагмент инициализации:
var dropdown = $dropdown(element, {
content: "Hello",
show: false,
trigger: "manual"
});
Я безуспешно пытался имитировать способ заполнения всплывающего окна (также приведенного в plunk в качестве ссылки). Я также пытался присвоить content
свойству значение $scope.dropdown
(см. здесь), но без удовлетворительного результата.
Дополнительная (но не блокирующая) проблема также возникла при первом вызове dropdown.hide()
, который непоправимо вызывает TypeError: Cannot read property 'off' of undefined
, в то время как первый popover.hide()
выполняется без сбоев. Это может быть ошибка AngularStrap, но также и неправильное использование.
Заранее благодарю за любезную помощь!
Ответ №1:
Вот рабочий фрагмент, который показывает контекстное меню
http://plnkr.co/edit/tNAX7liFSNh71XcOUecs
var dropdown = $dropdown(element, {
show: false,
trigger: "manual",
html: true
});
dropdown.$scope.content = [
{
"text": "<i class="fa fa-globe"></i>amp;nbsp;Display an alert",
"click": "alert("Holy guacamole!")"
},
{
"divider": true
},
{
"text": "Separated link",
"href": "#separatedLink"
}
];
element.on("contextmenu", function(event) {
event.preventDefault();
console.log("dropdown right click");
scope.$apply(function() {
scope.dropdown_show = true;
});
});
Тем не менее, я все еще пытаюсь заставить «щелчок» работать.