Ember 路由器中的“this._super(控制器,型号)”是什么意思?
What does the `this._super(controller,model)` mean in an Ember Router?
我在EmberJS代码和讨论中看到{未提供参考}以下内容:
法典
路线.js
setupController: function (controller, model) {
this._super(controller,model);
// More code
},
问题
呼唤this._super(controller,model);
在这里做什么?
何时需要使用此类呼叫?
只是想在这里学习,因为我的鼻血来自余烬学习曲线。
正如@RyanHirsch所说,this._super调用该方法的父实现。
在setupController
的情况下,调用this._super(controller,model)
会将控制器的"model"属性设置为传入的模型。这是默认实现。因此,在正常情况下我们不需要实现此方法。
现在,当我们想要为控制器设置其他数据时,我们通常会覆盖它。在这些情况下,我们需要默认行为和我们的自定义内容。所以我们称之为_super
方法。然后做我们的事情。
setupController: function (controller, model) {
// Call _super for default behavior
this._super(controller, model);
// Implement your custom setup after
controller.set('showingPhotos', true);
}
下面是 setupController 的默认实现。
this._super(controller, model);
调用该方法的父实现(即您要扩展的对象,因此Ember.Route)
http://emberjs.com/guides/object-model/classes-and-instances/
"定义子类时,你可以重写方法,但仍然通过调用特殊的_super()方法来访问父类的实现"
http://emberjs.com/guides/object-model/reopening-classes-and-instances/
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- javascript导入的最佳实践是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- 在ng重复循环中显示条件内容的最佳方式是什么
- 我的客户端选项是什么
- 这是什么“;要求“;事情
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- @@(“at at”)在ES6 JavaScript中是什么意思
- knex:根据结果创建数组的合适方法是什么
- JSDoc:模块和名称空间之间的关系是什么
- Ember 路由器中的“this._super(控制器,型号)”是什么意思?