Javascript 剑道UI网格重新加载数据错误
我有一个带有angularjs的剑道UI网格:当我在选择控件中更改一个项目时,我希望在网格中重新加载数据,并将所选id传递到url 在角度控制器中,我有:Javascript 剑道UI网格重新加载数据错误,javascript,jquery,angularjs,kendo-ui,kendo-grid,Javascript,Jquery,Angularjs,Kendo Ui,Kendo Grid,我有一个带有angularjs的剑道UI网格:当我在选择控件中更改一个项目时,我希望在网格中重新加载数据,并将所选id传递到url 在角度控制器中,我有: ... var id = 0; $scope.pers = new kendo.data.DataSource({ transport: { read: { url: "api/Pers?role=" + id, dataType: "json" }
...
var id = 0;
$scope.pers = new kendo.data.DataSource({
transport: {
read: {
url: "api/Pers?role=" + id,
dataType: "json"
}
},
schema:
...
...
});
当我在select控件中选择一个元素时,我正确地调用了这个函数,传递所选项的id并为网格重新加载数据
$scope.setRole = function(tmpId){
id = tmpId;
$scope.pers.read();
};
更改select控件中的元素时,会将请求正确发送到url:
"api/Pers?role=" + id
但当我更改选择时,id始终为0
如何解决此问题?尝试以下方法:
var id = 0;
$scope.pers = new kendo.data.DataSource({
transport: {
read: {
url: function() {
return "api/Pers?role=" + id;
},
dataType: "json"
}
},
schema:
...
...
});
基本上,如果您的读取URL是动态的,您应该通过一个函数定义URL,以便它动态地重新生成读取URL
可以说,您目前的操作方式是静态的。Kendo已将默认id 0散列到您的url字符串中,尽管您稍后更改了id值,但此url始终保持不变。@Tom,很高兴它成功了!也只是让你知道,我相信在url函数之后,我的原始答案中缺少了一个逗号。