Javascript 主干木偶不是射击路线
我正在使用主干网和木偶网创建一个简单的应用程序。它只是获取Wordpress帖子列表(使用API)并显示它。 这是一个非常简单的应用程序,所以它不是模块化的 我有以下内容(都放在同一个文件中): 关于在naviagate上使用触发器: 这会鼓励糟糕的应用程序设计,强烈建议您不要这样做 将Javascript 主干木偶不是射击路线,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,我正在使用主干网和木偶网创建一个简单的应用程序。它只是获取Wordpress帖子列表(使用API)并显示它。 这是一个非常简单的应用程序,所以它不是模块化的 我有以下内容(都放在同一个文件中): 关于在naviagate上使用触发器: 这会鼓励糟糕的应用程序设计,强烈建议您不要这样做 将触发器:true传递到主干。历史记录。导航 我在这里遗漏了什么?移动这个 if ( Backbone.history ) Backbone.history.start({ pushState: false
触发器:true
传递到主干。历史记录。导航
我在这里遗漏了什么?移动这个
if ( Backbone.history )
Backbone.history.start({ pushState: false });
if ( Backbone.history.fragment === '' )
API.listAllPosts();
else
API.listSinglePost( Backbone.history.fragment );
在应用程序启动点之后或在初始化:事件处理程序之后
检查前一个问题:移动此
if ( Backbone.history )
Backbone.history.start({ pushState: false });
if ( Backbone.history.fragment === '' )
API.listAllPosts();
else
API.listSinglePost( Backbone.history.fragment );
在应用程序启动点之后或在初始化:事件处理程序之后
检查前一个问题:在创建路由器实例之前,启动主干历史记录
创建路由器后,只需将其移动到
MyBlog.addInitializer(function() {
new MyBlog.Router({ controller: API });
// should be started after a router has been created
Backbone.history.start({ pushState: false });
});
另一件事是回调或者您应该将appRoutes
更改为routes
批准
和路线
之间的主要区别在于我们提供
在控制器上而不是直接在路由器本身上进行回调。
[...]
随着批准者
扩展主干路由器
,您还可以定义一个路由
属性,其回调必须出现在批准程序上
您可以在创建路由器实例之前启动主干历史记录
创建路由器后,只需将其移动到
MyBlog.addInitializer(function() {
new MyBlog.Router({ controller: API });
// should be started after a router has been created
Backbone.history.start({ pushState: false });
});
另一件事是回调或者您应该将appRoutes
更改为routes
批准
和路线
之间的主要区别在于我们提供
在控制器上而不是直接在路由器本身上进行回调。
[...]
随着批准者
扩展主干路由器
,您还可以定义一个路由
属性,其回调必须出现在批准程序上
您是否在链接的href
中使用哈希(#
)历史记录?navigate()仅适用于链接?实际上我没有使用链接。我有一个无序列表,每个li元素都有一个按钮,该按钮附带一个点击事件。单击后,调用一个函数,然后调用Backbone.History.navigate('property-link-here')。我对使用链接做了一些更改。在单击事件时尝试使用/不使用href属性中的#和preventDefault(),但。。。不工作。我单击按钮,将显示单个帖子(URL更改),我单击“上一步”,URL将更改为/但单个帖子仍保留在页面上,而不是显示整个列表。是的,主干路由器仅适用于中的链接或触发器:true
。navigate()
,但是大多数时候,使用触发器:true
是不好的做法<代码>主干。导航
仅更改窗口。locationhash
不触发任何路由。昨天我对项目进行了一些更改,现在一切正常。我还将所有内容模块化,这样获取资源甚至理解代码就容易多了。谢谢你宝贵的帮助!您是否在链接的href
中使用哈希(#
)历史记录?navigate()仅适用于链接?实际上我没有使用链接。我有一个无序列表,每个li元素都有一个按钮,该按钮附带一个点击事件。单击后,调用一个函数,然后调用Backbone.History.navigate('property-link-here')。我对使用链接做了一些更改。在单击事件时尝试使用/不使用href属性中的#和preventDefault(),但。。。不工作。我单击按钮,将显示单个帖子(URL更改),我单击“上一步”,URL将更改为/但单个帖子仍保留在页面上,而不是显示整个列表。是的,主干路由器仅适用于中的链接或触发器:true
。navigate()
,但是大多数时候,使用触发器:true
是不好的做法<代码>主干。导航
仅更改窗口。locationhash
不触发任何路由。昨天我对项目进行了一些更改,现在一切正常。我还将所有内容模块化,这样获取资源甚至理解代码就容易多了。谢谢你宝贵的帮助!谢谢你@Emile Bergeron!它正在返回并显示我的帖子列表。问题在于使用appRoutes而不是routes,以及我称之为appRoutes的方式。感谢任何人的进步!谢谢你@Emile Bergeron!它正在返回并显示我的帖子列表。问题在于使用appRoutes而不是routes,以及我称之为appRoutes的方式。感谢任何人的进步!