javascript – 循环引用marionette.js
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 循环引用marionette.js,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2006字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 循环引用marionette.js](/upload/InfoBanner/zyjiaocheng/800/a905391f662548308b3bb8f20de982da.jpg)
我在marionette.js应用程序中遇到循环引用问题.
问题是:
App.js使用控制器创建路由器,并且该控制器再次需要app.js,因此它可以将视图添加到区域.正如您在下面看到的(控制器)当我打印应用程序时,它返回undefined,因为圆形参考..
controller.js:
define(
['app', 'views/ProjectItemView'],
function (Application, ProjectItemView)
{
'use strict';
console.log(Application); // undefined
return Marionette.Controller.extend({
showProjects : function()
{
Application.main.show(new ProjectItemView());
console.log('project');
}
});
}
);
router.js:
define
(
['marionette'],
function(Marionette)
{
'use strict';
return Marionette.AppRouter.extend
(
{
appRoutes:
{
'dashboard/projects' : 'showProjects'
}
}
);
}
);
app.js
define
(
[
'backbone', 'marionette', 'jquery', 'routers/DashboardRouter', 'controllers/DashboardController',
'views/dashboard/Header'
],
function(Backbone, Marionette, $, DashboardRouter, DashboardController, Header)
{
'use strict';
var app = new Marionette.Application();
app.addRegions({
header: '#header',
main: '#main',
});
app.header.show(new Header());
app.on('initialize:after', function () {
Backbone.history.start({pushState: true});
app.router = new DashboardRouter({
controller : DashboardController
});
});
$(document).on("click", "a[href^='/']", function(event)
{
var href = $(event.currentTarget).attr('href');
console.log(href);
event.preventDefault();
app.router.navigate(href, {trigger: true});
return false;
});
return app;
}
);
现在解决这个问题的最佳方法是什么?我对此完全陌生,所以我真的不知道最佳做法是什么..
我在控制器中添加视图也是正确的吗?或者我应该在其他地方这样做?
提前致谢
解决方法:
我认为你应该将一个区域传递给控制器??以实现它,你肯定需要移动你的代码.我有一个示例应用程序工作,但没有使用require,但是在控制器中创建一个区域并将一个区域从主应用程序传递给它的概念可以在这里进行详细说明.
App.addInitializer(function () {
var controller = new BookStoreController({region: App.mainRegion});
layout = new CatalogLayout();
controller.region.show(layout);
var router = new Router({controller:controller});
});
http://jsfiddle.net/rayweb_on/hsrv7/11/
希望有所帮助.
内容总结
以上是互联网集市为您收集整理的javascript – 循环引用marionette.js全部内容,希望文章能够帮你解决javascript – 循环引用marionette.js所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。