圖書館將角材料:
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:() => { .. }
}))
希望這有助於!
看起來不錯,但是如何將數據從主要組件綁定到對話框呢? –
好點@JakubFilipczyk,一個好的技巧是將對話轉換爲工廠,並使用「locals」屬性設置主要組件傳遞給參數的參數(請參閱修改後的示例)歡呼! – coderdiego