gpt4 book ai didi

angularjs - 如何在基于 Angular 组件的架构中处理对话框

转载 作者:行者123 更新时间:2023-12-04 20:35:52 25 4
gpt4 key购买 nike

我正在 Angular 1.5 中开发一个应用程序。
我坚持基于组件的架构 ( https://docs.angularjs.org/guide/component )
和那里描述的输入/输出流程。

到目前为止,它运行良好,但现在我需要打开一个子组件作为对话框窗口,但我被卡住了。

当您从主组件开始向下渲染组件树时,架构很好。但我不知道如何获取其中一个 child 并将其显示为对话框,并且仍然使用推荐的输入/输出流程。

你知道这样做的任何模式/库吗?

最佳答案

图书馆将是有 Angular 的 Material :

https://material.angularjs.org/latest/demo/dialog

该模式必须是这样的:

// my-dialog.js
'use es6'
export default locals => ({
locals, // will be bound to the controller instance!
template:
`
<p>Something: <span>{{$ctrl.foo}}</span></p>
<md-button ng-click="$ctrl.onSave()">Save</md-button>
<md-button ng-click="$ctrl.cancel()">Cancel</md-button>
` ,
bindToController: true,
controllerAs: '$ctrl',
controller: function($mdDialog, myService) {
// this.foo = ..will be provided in locals as an input parameter..
// this.onSave = () { ..will be provided as output parameter.. }
this.cancel = () => {
$mdDialog.cancel()
}
},
clickOutsideToClose: true
})

您可以像这样从父组件调用:
// main-component.js
'use es6'
import myDialog from './my-dialog'
..
$mdDialog.show(myDialog({
foo: 'bar',
onSave: () => { .. }
}))

希望这可以帮助!

关于angularjs - 如何在基于 Angular 组件的架构中处理对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com