我正在使用' ui.bootstrap.contextMenu'构建上下文菜单。当我右键单击一个字段时,我需要将一个唯一的ID传递给控制器,并根据ID返回一个选项列表。每个列表可能不同。如果我使用硬编码列表,它工作正常,但我似乎无法动态生成列表。我错过了什么?示例代码:
`<div>
<textarea ng-model="ctrl.status" context-menu="ctrl.menuOptions (ctrl.id)"></div>
</div>
vm.menuOptions = function(id) = {
var listArray = $scope.list; // array of possible list items based on ID
angular.forEach(listArray, function(value, key) {
if (id === value.id) {
return [
[value.id, function ($itemScope) {
return value.textName;
}],
]
}
}
}`
答案 0 :(得分:0)
我假设你指的是这个实现:https://github.com/Templarian/ui.bootstrap.contextMenu
生成上下文菜单的功能通过三件事:
因此,在您的示例中,您可以使用:
vm.menuOptions = function($cmScope, event, modelValue) = {
var listArray = $scope.list; // array of possible list items based on ID
// ^ Assuming that the $scope here is the scope of the container, not the contextmenu
angular.forEach(listArray, function(value, key) {
if (modelValue === value.id) {
return [
[value.id, function ($itemScope) {
return value.textName;
}],
]
}
}
}