我在我的应用程序中使用Ember.js。在.jsp页面中,我有一个按钮,当我点击按钮时,我会调用url = "emberapp/myproject/routename?isFromJSP=true&data=[1,2]"
。
这正确地路由到我的routename
。
问题是,我想在我的控制器或路由中读取布尔参数(isFromJSP)和列表参数(数据)。怎么做?
PS:我知道使用window.location.href,但它没有在我的EMBER init函数中返回当前页面。我正在使用AJAX调用来获取init函数中的ember页面的数据,并且我想将这些请求参数作为请求json对象传递。
答案 0 :(得分:1)
您应该结帐query params。
基本上你可以在控制器中执行此操作:
params
接下来,您可以将此用于计算属性,也可以在传递给路由model
挂钩的queryParams: {
isFromJSP: {
refreshModel: true
},
data: {
refreshModel: true
}
},
哈希上访问它们。如果你这样做,请考虑将其添加到你的路线:
var chart = AmCharts.makeChart("chartdiv", {
"theme": "light",
"labelText": "[[title]]: [[value]]",
"type": "serial",
"titles": [{
"text": "Benches Classification by Borough",
"size": 16
}],
"valueAxes": [{
"stackType": "3d",
"unit": "",
"position": "left",
"title": "Bench Counts:",
}],
"startDuration": 1,
"graphs": [
{
"balloonText": "backless : [[value]]",
"fillAlphas": 0.9,
"lineAlpha": 0.2,
"title": "backless",
"type": "column",
"valueField": "backless"
},
{
"balloonText": "backed:[[value]]",
"fillAlphas": 0.9,
"lineAlpha": 0.2,
"title": "backed",
"type": "column",
"valueField": "backed"
}],
"plotAreaFillAlphas": 0.1,
"depth3D": 73,
"angle": 60,
"categoryField": "Borough",
"categoryAxis": {
"gridPosition": "start"
},
"export": {
"enabled": true
}
});
这将强制对查询参数的更改将重新加载模型(并将进行完全转换)。