0

我将开源网格库 (Nonfactors-MVC-Grid) 用于 .NET MVC5 应用程序,无论出于何种原因,渲染器都将 C# 中的 snake_case 变量名称转换为 JavaScript 中的连字符。

document.addEventListener('rowclick', function (e) {
    //Value in C# will be some_id
    var some_id = e.detail.data.some-id; //debugger displays this
});

显然,这对于 JS 来说是一个糟糕的命名约定,但我很好奇是否有另一种方法来捕获这个变量,而不必在后端重构我的命名约定。

4

1 回答 1

4

您还可以使用方括号 getter ( [ ]) 访问对象属性。
这可以在您的情况下用于访问包含连字符的对象属性。

document.addEventListener('rowclick', function (e) {
    //Value in C# will be some_id
    var some_id = e.detail.data['some-id']; //debugger displays this
});

您还可以使用相同的 getter 来获取动态属性

document.addEventListener('rowclick', function (e) {
    //Value in C# will be some_id
    let key = 'some-id';
    var some_id = e.detail.data[key]; //debugger displays this
});
于 2020-01-29T18:45:02.307 回答