如何在onsenui中使用多个html文件

时间:2015-03-04 06:09:43

标签: angularjs onsen-ui

在OnsenUI中,它说:"您可以在同一页面中定义页面内容,而不是在单独的文件中创建index.html和services.html。"

我不想将我的整个应用程序放在一个html文件中,因此我尝试将每个模板放入一个单独的文件中。这是我的文件结构:

WWW

-index.html

-services.html

-menu.html


的index.html

<!DOCTYPE html>
<html ng-app="app">

  <head>
    <link rel="stylesheet" href="http://onsen.io/OnsenUI/build/css/onsenui.css" />
  <link rel="stylesheet" href="http://onsen.io/OnsenUI/build/css/onsen-css-components.css" />
  <script src="https://code.angularjs.org/1.2.10/angular.js"></script>
  <script src="http://onsen.io/OnsenUI/build/js/onsenui.js"></script>
    <script src="script.js"></script>
     <script>
    angular.module('app', ['onsen']);
    angular.module('app')
      .controller('AppController', function($scope) {
      });
  </script>
  </head>

  <body ng-controller="AppController">
    <ons-navigator var="myNavigator">
    <ons-button ng-click="myNavigator.pushPage('services.html', { animation : 'slide' } );">Pay</ons-button>
    </ons-navigator>
  </body>
</html>

services.html

<ons-template id="services.html">
  <ons-page>
    <ons-list>
      <ons-list-item>Service 1</ons-list-item>
      <ons-list-item>Service 2</ons-list-item>
      <ons-list-item>Service 3</ons-list-item>
    </ons-list>
  </ons-page>
</ons-template>

的script.js

angular.module('app', ['onsen']);

    angular.module('app')
      .controller('AppController', function($scope) {
        ons.ready(function() {
          ons.bootstrap();
        });
      });

如果我使用单个html文件,那么这似乎是一个性能问题。在这里,如果我点击该按钮,它就不会推送到services.html页面。如果我在同一个html文件中使用ons-template,这将有效。我如何在这里使用多个html页面。

这是我试过的..

PLUNKER

1 个答案:

答案 0 :(得分:5)

<ons-template>仅在index.html内,而不是在单独的文件中。从您的<ons-template id="services.html">中删除</ons-template>services.html,它应该有效。 “id”将是文件的名称。