EmberJS - 每个页面都有一个没有路由器的控制器链接

EmberJS - each page with a controller linked without router

本文关键字:路由器 链接 控制器 有一个 EmberJS      更新时间:2023-09-26

我正在尝试使用 ASP.NET MVC开发EmberJS应用程序。我找到了 SPA 模板(感谢开发人员,它太棒了!(,但我想做一种不同的方法。相反,SPA(单页应用程序(方法,我想使用 ASP.NET 路由和页面,就像 commmon ASP.NET MVC 应用程序一样。问题是:我希望在每个新页面中都可以添加一个引用控制器的<script>标签,该标签将在该页面中使用,你知道吗?

像这样:

共享页面包含对EmberJS(app.js的主要引用,其中包含EmberJS的初始化(:

<html>
    <head>
    ...EmberJS reference blahblah...
    </head>
    ...
    <body>
        @RenderBody()
    </body>
    <script type="text/javascript" src="@Url.Content("~/Scripts/EmberJS/app.js")" />
</html>

好吧,假设我将创建一个客户页面。我知道我必须创建一个客户控制器来处理页面。让我们也假设我将创建一个CustomerController.js文件。

App.CustomerController = Ember.Controller.extend({
    customers: [],
    ...
});

然后,我将创建一个Customer.cshtml,这将是显示有关客户的操作的页面。我想在上面做这样的事情:

<ul>
{{#each customer in controller.customers}}
    <li>{{customer.name}}</li>
{{/each}}
</ul>
...
<script type="text/javascript" 
    src="@Url.Content("~/Scripts/EmberJS/Controllers/CustomerController.js")" />

因此,我需要一种方法将我添加的带有 <script> 标记的控制器同步到我的页面,并使该控制器易于理解。

  1. 这可能吗?
  2. 如果是,如何将客户控制器链接到我想要的任何页面?我需要使用视图或其他东西吗?

谢谢你们,伙计们!

Ember 是专门为创建单页应用程序而设计的。 如果您不想创建SPA,则可能应该考虑使用Ember以外的其他方法。