如何从/component/sales-order.js
/routes/sales-order.js
中声明的变量
有可能吗?
答案 0 :(得分:1)
假设你的意思是组件的属性,那么基本上你不能,也不应该。你为什么这么想?
路线管理路线;它不知道最终呈现的细节。例如,路由可以两次实例化相同的组件。然后你想从哪个位置检索值?
您认为需要这样做的事实表明您的应用程序的结构存在某种问题。
将此视为如何在组件和路由之间进行通信的更一般问题,有各种方法,但最基本的方法是让组件向上发送操作:
// 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>
答案 1 :(得分:0)
首先将其导出然后导入
导出/component/sales-order.js
export const MY_VARIABLE = 2;
导入/routes/sales-order.js
import { MY_VARIABLE } from '../components/sales-order'
console.log(MY_VARIABLE) // 2