我需要动态更改字段
this.search = function(search, match) {
var deferred = $q.defer()
search({
size: 10000,
index: "products",
body: {
"query": {
"match": {
[search]: {
"query": match,
// "operator": "and",
type:"phrase"
}
}
}
}
但显示错误30:16错误解析错误:意外的令牌[
答案 0 :(得分:1)
您必须将其拆分,以便动态构建 body 对象:
var body = {
"query": {
"match": { }
}
};
body.query.match[search] = {
"query": match,
"type": "phrase"
};
答案 1 :(得分:0)
这不是AngularJS问题 - 问题是当您使用的浏览器不支持时,您尝试使用 Computed Property Name 作为对象文字。
计算机属性名称文档链接:
要查看哪些浏览器可以&不能使用计算属性名称:
https://kangax.github.io/compat-table/es6/#test-object_literal_extensions_computed_properties