Javascript 如何在两个之间共享数据?使用angularjs和onsen ui

Javascript 如何在两个之间共享数据?使用angularjs和onsen ui,javascript,angularjs,dialog,onsen-ui,Javascript,Angularjs,Dialog,Onsen Ui,我是onsen ui和angularjs的新手,今天我遇到了一个问题 以下是我的HTML代码: <ons-page ng-controller="DialogController"> <ons-toolbar> <div class="center">Dialog {{dataShow.username}} </div> </ons-toolbar> <ons-list > <

我是onsen ui和angularjs的新手,今天我遇到了一个问题 以下是我的HTML代码:

<ons-page ng-controller="DialogController">
  <ons-toolbar>
    <div class="center">Dialog
    {{dataShow.username}}
    </div>
  </ons-toolbar>
  <ons-list >
   <ons-list-item ng-click="show('navigator.html')" modifier="tappable">
     Navigator
   </ons-list-item>
  </ons-list>
</ons-page>

<ons-template  id="navigator.html">
  <ons-dialog style="height: 160px;" var="naviDialog" cancelable>

    <ons-navigator var="myNav">
      <ons-toolbar inline>
        <div class="center">
          Navigator  {{dataShow.username}}
        </div>
      </ons-toolbar>

      <div style="text-align: center">
        <p>
          This is a dialog with a navigator.
        </p>

        <p>
          <ons-button onclick="naviDialog.hide()">Close</ons-button>
          <ons-button onclick="myNav.pushPage('next.html')">Next</ons-button>
        </p>
      </div>
    </ons-navigator>
  </ons-dialog>        
</ons-template>

问题是我无法在{{dataShow.username}}中获得结果,有人可以帮我吗?

您需要创建一个单独的控制器,并使用服务将数据传递给控制器

HTML代码段

在使用对话框时,您可以在ons.createDialog函数的第二个参数中传递作用域,它应该可以满足您的需要

例如:

ons.createDialog('template_name.html',{parentScope: $scope})
<ons-dialog style="height: 90%; width: 90%" var="naviDialog" cancelable ng-controller="newsFeedCtrl">
.service("NewsFeedSelectedData", function () {
        this.title = "";
        this.link = "";
      })
      .controller("newsFeedCtrl", ['$scope', '$sce', 'NewsFeedSelectedData', function ($scope, $sce, NewsFeedSelectedData) {
        $scope.title = NewsFeedSelectedData.title;
        $scope.link = $sce.trustAsResourceUrl(NewsFeedSelectedData.link);
      }])
ons.createDialog('template_name.html',{parentScope: $scope})