在 ember 中,视图的目的只是我重复只是为了处理事件或创建可重用的组件
我不建议这样做,因为总是有一个原因为什么视图不应该从控制器访问并且它很好地遵循它,但是如果您真的想使用它,您可以执行以下两种方式:
我不知道您使用的是 ember-cli 还是 ember,但逻辑是相同的。然而,答案是针对 ember-cli
//Inside appname/controller/your-conroller.js
import reqdView from 'appname/views/your-view';
//Lets assume u want to call a function called validate inside view
//Add this statement inside the controller to run the validate function
reqdView.prototype.validate();
OR
var reqdViewInst = new reqdView();
reqdViewInst.validate();
如果要验证视图,请在 didInsertElement 中进行验证
export default Ember.View.extend({
didInsertElement:function()
{
this.validate();
},
validate:function()
{
//do your validation
}
});
或者
export default Ember.View.extend({
eventManager: Ember.Object.create({
didInsertElement:function(event, view)
{
view.validate();
}
}),
validate:function()
{
//do your validation
}
});