onsen对话框对父范围的访问权限有限

时间:2015-11-10 06:56:04

标签: angularjs angularjs-scope onsen-ui

我正在寻找使用onsen-ui对话框组件的帮助。这似乎是一个范围问题。

在我的HTML文件中,我有一个对话框模板,如下所示。

<ons-template id="report.html">
  <ons-dialog var="dlg" cancelable>
      <h1>{{clicked.name}}</h1>
      <ons-button onclick="clickButton()">Click</ons-button>
  </ons-dialog>
</ons-template>

在我的控制器中,我有

$scope.clickButton = function(){
    dlg.hide();
}
$scope.dialogs = {};

$scope.show = function(dlg) {
    $scope.clicked = {'name':"bar"};
    if (!$scope.dialogs[dlg]) {
      ons.createDialog(dlg, {parentScope: $scope}).then(function(dialog) {
        $scope.dialogs[dlg] = dialog;
        dialog.show();
      });
    } else {
      $scope.dialogs[dlg].show();
    }
}

奇怪的部分是我可以访问&#34;点击&#34;在对话范围内,但不是&#34; reportButton&#34;,它们属于同一范围,或者至少我可以告诉。

以下是codepen链接

提前致谢!

1 个答案:

答案 0 :(得分:1)

要从控制器范围调用该函数,您应该ng-click而不是onclick

<ons-button ng-click="reportButton()">click</ons-button>

Working Codepen