【发布时间】:2016-06-06 06:26:32
【问题描述】:
我在控制器中有这个调用 指令
ngDialog.openConfirm({
template : '<form-directive></form-directive>',
plain : true,
closeByNavigation : true,
scope : $scope
})
.then(function( response ) {
$log('SENDED');
});
组件
ngDialog.openConfirm({
template : '<form-component></form-component>',
plain : true,
closeByNavigation : true,
scope : $scope
})
.then(function( response ) {
$log('SENDED');
});
两者的 HTML
<form ng-submit="alert("Hello !!!")">
<button type="submit">Send</button>
</form>
当我单击 Button on 指令时,我在控制台上看到 SENDED 消息,但对于组件 看起来就像忽略每个 NG 属性,点击按钮什么都不做, 但正确加载模板。
相同的模板,相同的一切, 是完全一样的,所以也许是一个 ngDialog 类型的组件错误?
我只希望 ng-attributes 在里面工作,如果我点击按钮提交然后关闭对话框并获取承诺日志消息
如果我在其中使用范围:{ obj : '=' } 属性,该指令也会失败 组件忽略一切。
我认为 Scopes 存在某种问题 - 指令中的范围声明(或组件中的绑定) - 以及 openDialog 对象中的作用域
【问题讨论】:
标签: javascript angularjs angularjs-scope angular-controller ng-dialog