在 Ember .js 中路由
Routing in Ember.js
我尝试在Ember中使用路由.js,但它似乎无法正常工作。
完整的代码在Github上,但一部分在下面:
define(['ember', 'app/controllers/controller', 'app/views/view'], function (ember, controller, view) {
var Router = Ember.Router.extend({
root: Ember.State.extend({
index: Ember.State.extend({
// location: Ember.Location.create({style: 'hash'}),
location: 'hash',
enableLogging: true,
route: '/',
redirectsTo: 'news.index'
}),
news: Ember.State.extend({
route: '/news',
// showPost : Ember.State.transitionTo('post'),
test: Ember.ViewState.extend({
route: '/test',
view: view.appendTo('body')
}),
index: Ember.ViewState.extend({
route: '/',
view: null
})
})
})
});
var router = Router.create({});
return router;
});
我认为您需要将代码更改为:
define(['ember', 'app/controllers/controller', 'app/views/view'], function (ember, controller, view) {
var Router = Ember.Router.extend({
// These are properties of Ember.Router and should be defined here
location: 'hash',
enableLogging: true,
root: Ember.State.extend({
index: Ember.State.extend({
route: '/',
redirectsTo: 'news.index'
}),
news: Ember.State.extend({
route: '/news',
// showPost : Ember.State.transitionTo('post'),
test: Ember.ViewState.extend({
route: '/test',
view: view.appendTo('body')
}),
index: Ember.ViewState.extend({
route: '/',
view: null
})
})
})
});
var router = Router.create({});
return router;
});
让我知道这是否有效。
更新
实际上,您也不应该使用ViewState。它正在贬值。按照指南 http://emberjs.com/guides/outlets/。
相关文章:
- 使用Ampersand.js路由模块化应用程序
- 在node-js路由中发出http请求
- 更改路由后,运行一次js脚本
- Angular JS-如何强制浏览器记录历史以便快速路由
- 从Sencha Touch迁移到EXT JS 6-Contoller的默认/空路由
- 尝试使用Node.js动态路由从IMDB中抓取电影内容.但是在我的output.json文件中没有定义
- ember.js:转换到相同的路由会产生堆栈溢出问题
- Angular JS和Node路由/布线-仅在页面刷新后显示数据
- express js中具有不同功能的动态路由
- Sails.js在v1、v2等中分组路由
- 如何将Sails.js挂钩路由连接到策略
- 不更改路由位置backline.js的触发器方法
- angular js路由不起作用
- Hapi-js重定向到另一个带有额外请求数据的路由
- 如何防止在主干网中路由.js
- 骨干网中的高级路由.js具有功能分组
- 我如何使用外部路由.js,这样我就不必在app.js中定义我的路由了
- 带页面的聚合物路由.js在新选项卡中打开链接时,不要向 URL 添加哈希标记
- Heroku错误:页面是通过HTTPS加载的,但请求了一个不安全的脚本“角度路由.js”
- ngRoute 依赖注入错误,但加载了角度路由.js.min