Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ember.js运行时解析器不工作_Ember.js - Fatal编程技术网

ember.js运行时解析器不工作

ember.js运行时解析器不工作,ember.js,Ember.js,我不熟悉ember.js(但我从CakePHP和js的经验中了解MVC) 在过去的两周里,我在工作中开发了一个加载 使用REST适配器侧面加载JSON数据。我添加了一些带有动作的按钮 一切都很顺利,我学到了很多,但要弄清楚细节需要时间 目前,我所有的控制器、路线和模型都不是按折叠结构组织的 这在ember.js-Guide中有描述: 现在我想将文件移动到folderstructure。但是,应用程序不起作用。 在我看来,解析器无法在运行时找到文件。但是为什么呢 一个简单的例子不起作用: 在“ap

我不熟悉ember.js(但我从CakePHP和js的经验中了解MVC) 在过去的两周里,我在工作中开发了一个加载 使用REST适配器侧面加载JSON数据。我添加了一些带有动作的按钮 一切都很顺利,我学到了很多,但要弄清楚细节需要时间

目前,我所有的控制器、路线和模型都不是按折叠结构组织的 这在ember.js-Guide中有描述:

现在我想将文件移动到folderstructure。但是,应用程序不起作用。 在我看来,解析器无法在运行时找到文件。但是为什么呢

一个简单的例子不起作用:

在“app.js”中(在“index.html”中加载-tag):

在“router.js”中(在“index.html”中的“app.js”后面加载-tag):

在“routes/mytest.js”中:

在“controllers/mytest.js”中:

在“indes.html”中:


{{{#链接到'mytest'}mytest{{{/link到}}
{{outlet}} mytest模板 appName:{{appName}} 标题:{{title}}
把手模板“mytest”显示为showen,但{{appName}}和{{title}为空。 如果我将“mytest”-模板移动到“templates/mytest.hbs”,则不会显示任何内容

在我看来,解析器不起作用。还是命名约定指南有问题

我的另一个假设是: 只有在使用像在ember cli中那样的构建过程时,解析器才能工作

使用“ember-1.12.1.debug”、“ember-template-compiler-1.12.1”

谢谢你的帮助

-更新- 这里是“index.html”-简单示例:

<!doctype html>
<html class="no-js" lang="">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title></title>
    </head>
<body>
    <script type="text/x-handlebars">
    {{#link-to 'mytest' }}Mytest{{/link-to}}<br/>
    {{outlet}}
    </script>

    <script type="text/x-handlebars" id="mytest">
        mytest Template
        <h1>appName: {{appName}}</h1>
        <h2>title: {{title}}</h2>
    </script>

    <script src="libs/jquery-2.1.4.js"></script>
    <script src="libs/ember-template-compiler-1.12.1.js"></script>
    <script src="libs/ember-1.12.1.debug.js"></script>
    <script src="app.js" ></script>
    <script src="router.js" ></script>
    </body>
</html>

{{{#链接到'mytest'}mytest{{{/link到}}
{{outlet}} mytest模板 appName:{{appName}} 标题:{{title}}
目前,我猜关于命名约定的ember.js指南(guides.emberjs.com/v1.12.0/concepts/naming conventions)被遗漏了,“ember.js使用运行时解析器在没有大量样板文件的情况下连接对象”只适用于“ember cli”或旧的“ember app kit”或其他工具,但不是在应用程序运行时。因此,在运行JS应用程序时,不会从服务器加载任何JS文件。

如果您正在寻找一个干净的项目结构,您应该查看一下。您可以提供完整的index.html吗?看起来您希望在像ember cli中使用的文件结构中工作,但没有ember cli?这真的不管用..我上周看了ember cli,但在使用它的过程中有更多的魔力。例如:{{outlet}移动了,我不清楚{{content for…}的魔力是如何运作的。还有一个标签,它的值是一个长的configurationstring。
App.Router.map(function(){
  this.route('mytest');
});
export default Ember.Route.extend({
  setupController: function(controller) {
    controller.set('title', "Hello world!");
  }
});
export default Ember.Controller.extend({
    appName: 'mytest'
});
<script type="text/x-handlebars">
    {{#link-to 'mytest' }}Mytest{{/link-to}}<br/>
    {{outlet}}
</script>
<script type="text/x-handlebars" id="mytest">
  mytest Template
  <h1>appName: {{appName}}</h1>
  <h2>title: {{title}}</h2>
</script>
<!doctype html>
<html class="no-js" lang="">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title></title>
    </head>
<body>
    <script type="text/x-handlebars">
    {{#link-to 'mytest' }}Mytest{{/link-to}}<br/>
    {{outlet}}
    </script>

    <script type="text/x-handlebars" id="mytest">
        mytest Template
        <h1>appName: {{appName}}</h1>
        <h2>title: {{title}}</h2>
    </script>

    <script src="libs/jquery-2.1.4.js"></script>
    <script src="libs/ember-template-compiler-1.12.1.js"></script>
    <script src="libs/ember-1.12.1.debug.js"></script>
    <script src="app.js" ></script>
    <script src="router.js" ></script>
    </body>
</html>