2

我有一个带有 Onsen UI 1.3.6 的单页 Angular 应用程序。

我正在尝试显示一个对话框,但我不断收到 404 Not Found 错误。

我的 Javascript 是:

ons.createDialog('iconselector.html').then(function(dlg) {
  dlg.show();
});

我的 HTML 是:

<ons-template id="iconselector.html" cancelable>
  <ons-dialog>
    <p>Hello world1</p>
  </ons-dialog>
</ons-template>

我收到一条错误消息:

GET http://localhost/yourdomain/templates/iconselector.html 404(未找到)startSymbol@loader.js:1433sendReq@loader.js:1432$get.serverRequest@loader.js:1432processQueue@loader.js:1433(匿名函数)@loader.js:1433$get.Scope.$eval@loader.js:1435$get.Scope.$digest@loader.js:1435(匿名函数)@loader.js:1435completeOutstandingRequest@loader.js:1430 (匿名函数)@loader.js:1430

但是,如果我尝试使用 Tab 栏的 loadPage('somepage.html') 方法将任何模板显示为普通页面,则模板会按预期工作。

4

1 回答 1

0

可能您正在尝试在创建iconselector.html页面之前创建对话框,这就是它找不到页面的原因。修复ons.ready()在所有 DOM 初始化后执行代码的函数。这是一个例子:

ons.ready(function() {   
  ons.createDialog('iconselector.html').then(function(dialog) {
    dialog.show();
  });
});

您的 HTML 中还有两个错误:

  • cancelableons-dialog而不是的属性ons-template
  • var="dlg"ons-dialog元素中缺少

这是固定代码:

<ons-template id="iconselector.html">
  <ons-dialog var="dlg" cancelable>
    <p>Hello world1</p>
  </ons-dialog>        
</ons-template>

希望能帮助到你!

于 2015-07-30T03:12:13.827 回答