角度:v8.2.8
我设法使用 mat-menu (angular material) 来模拟上下文菜单。无论如何在我的页面上右键单击,菜单会出现在我的鼠标位置。
我想要实现的目标:当我将鼠标移动到页面上的另一个位置时,我再次右键单击。我期待原始位置的菜单在新位置关闭并重新打开。
但实际上:当我右键单击时,没有任何反应,原始位置的菜单保持打开状态。
事实上,我必须左键单击以关闭原始位置打开的菜单,然后右键单击以在新鼠标位置打开菜单。
问题:知道如何实现我想要的吗?
@Component({
selector: 'fl-home',
template:`
<mat-menu #contextmenu>
<div >
<button mat-menu-item>Clear all Paths</button>
</div>
</mat-menu>
<div [matMenuTriggerFor]="contextmenu" [style.position]="'absolute'" [style.left.px]="menuX" [style.top.px]="menuY" ></div>
<div class="container" (contextmenu)="onTriggerContextMenu($event);"> ....</div>
`})
export class HomeComponent {
menuX:number=0
menuY:number=0
@ViewChild(MatMenuTrigger,{static:false}) menu: MatMenuTrigger;
onTriggerContextMenu(event){
event.preventDefault();
this.menuX = event.x - 10;
this.menuY = event.y - 10;
this.menu.closeMenu() // close existing menu first.
this.menu.openMenu()
}
}
Run Code Online (Sandbox Code Playgroud) VSCode IDE 可以做到这一点吗?打开新的集成终端时自动执行命令,例如运行批处理文件或 powershell 脚本?
当我构建应用程序(构建,但尚未运行)时,我遇到构建错误:
发现数据绑定错误....在类 com.edenhan.simplytask.CreateTaskForm 中找不到方法 addTask(java.lang.String,boolean)。
但是我确实在这个CreateTaskForm
kotlin 类中添加了addTask 方法,所以不确定出了什么问题。
下面是片段类,CreateTaskForm,
class CreateTaskForm:Fragment (){
var addTask:(String,Boolean)-> Unit={s,b-> }
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
var binding:FragmentCreateTaskFormBinding =
DataBindingUtil.inflate(inflater,R.layout.fragment_create_task_form, container,false)
binding.me=this
return binding.root
}
Run Code Online (Sandbox Code Playgroud)
下面是片段布局 fragment_create_task_form
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable name="me" type="com.edenhan.simplytask.CreateTaskForm">
</variable>
</data>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btnCreateTask"
android:background="@android:drawable/ic_menu_add"
android:onClick="@{(v)->me.addTask(`ds`,true)}"
.../>
Run Code Online (Sandbox Code Playgroud) 如https://stackblitz.com/edit/angular-qbbhgp所示,我试图实现一个非常简单的路由,其中涉及模块的延迟加载。当我点击“链接”时,它似乎不起作用。我预计会看到“学生页面”一词出现,但它没有发生。
请注意,我希望解决方案涉及使用 import api (延迟加载模块的较新语法)
角度版本:v9
我有一个按钮,它的垫子图标是一个指向左侧的箭头。我想知道 mat-icon 元素标签是否有任何属性可以让我控制箭头的方向,使其指向上方。
为了学习的目的,我更喜欢通过 angular.js 中的属性来学习如何做到这一点,而不是寻找另一个可以实现我想要的图标。
我在网上搜索,但找不到解决方案。因此这个问题。帮助表示赞赏。谢谢