刚刚将Ember更新为v1.13.5,并收到此警告:
弃用:不推荐使用Controller#needs,请改用Ember.inject.controller()
还没有找到关于如何编写新语法的文档.任何有关如何解决此警告的建议将不胜感激.
Pat*_*ssa 17
由于某种原因,它被标记为文档中的私有方法,为了看到它,您需要勾选私有复选框.
有两种方法可以使用它,有或没有传递控制器名称
App.PostController = Ember.Controller.extend({
posts: Ember.inject.controller()
});
Run Code Online (Sandbox Code Playgroud)
当未传递控制器的名称时,ember使用属性名称来查找它,例如posts: Ember.inject.controller('posts').
当属性和控制器具有不同的名称时,您将只指定控制器名称.
App.PostController = Ember.Controller.extend({
myPosts: Ember.inject.controller('posts')
});
Run Code Online (Sandbox Code Playgroud)
这是一个简单的例子,这篇博文更多地讨论了从手动注入到"Ember.inject"的演变.
export default Ember.Controller.extend({
flashManager: Ember.inject.controller('flash-message'),
actions: {
upVote: function() {
// Do some voting
var flashManager = this.get('flashManager');
flashManager.pushMessage('error', 'Your vote does not count');
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1692 次 |
| 最近记录: |