Ember.js 余烬访问组件';s变量到其他控制器

Ember.js 余烬访问组件';s变量到其他控制器,ember.js,Ember.js,如何从/routes/sales order.js访问/component/sales order.js中声明的变量 export const MY_VARIABLE = 2; import { MY_VARIABLE } from '../components/sales-order' console.log(MY_VARIABLE) // 2 有可能吗?您先将其导出,然后再导入 在/component/sales order.js中导出 export const MY_VARIABLE

如何从
/routes/sales order.js
访问
/component/sales order.js
中声明的变量

export const MY_VARIABLE = 2;
import { MY_VARIABLE } from '../components/sales-order'
console.log(MY_VARIABLE) // 2

有可能吗?

您先将其导出,然后再导入

/component/sales order.js中导出

export const MY_VARIABLE = 2;
import { MY_VARIABLE } from '../components/sales-order'
console.log(MY_VARIABLE) // 2
/routes/sales order.js中导入

export const MY_VARIABLE = 2;
import { MY_VARIABLE } from '../components/sales-order'
console.log(MY_VARIABLE) // 2

假设您指的是组件的属性,那么基本上您不能,也不应该。你为什么要这么做

路由管理路由;它不知道最终渲染的细节。例如,一条路由可能会实例化同一个组件两次。那么您希望从哪一次检索值

事实上,您觉得有必要这样做,这表明您的应用程序的结构存在某种问题

将此视为如何在组件和路由之间通信的更一般问题,有多种方法,但最基本的方法是让组件向上发送操作:

// thing/route.js
// Define the ultimate action to be invoked.
export default Ember.Route.extend({
  actions: {
    hiccup() { console.log("Hiccup!"); }
  }
});

// thing/template.hbs
// Invoke the component, and tie the action to something specific
{{component action='hiccup'}}

// component/component.js
// Define the component with an action.
export default Ember.Component.extend({
  actions: {
    go() { this.sendAction(); }
  }
});

//component/template.hbs
// Provide a button
<button {{action 'go'}}>Go!</button>
//thing/route.js
//定义要调用的最终操作。
导出默认的Ember.Route.extend({
行动:{
hiccup(){console.log(“hiccup!”);}
}
});
//thing/template.hbs
//调用组件,并将操作绑定到特定的对象
{{component action='hiccup'}}
//component/component.js
//用动作定义组件。
导出默认的Ember.Component.extend({
行动:{
go(){this.sendAction();}
}
});
//组件/模板.hbs
//提供一个按钮
走!

您是指余烬组件的属性吗?另外,为什么要将此标记为“余烬数据”