有没有办法用参数运行计算属性?几乎是一个计算函数。
JS代码
computed: {
IsShapeToolSelected: function (toolId) {
return toolId == this.get("QueryTool.QueryByShapeTool") ? "selected-tool" : "";
}
}
HTML
<button on-click='draw: {{0}}' type="button" class="btn btn-default {{IsShapeToolSelected(0)}}">
<span style="font-size:18px;">●</span>
<br />
<span>point</span>
</button>
<button on-click='draw: {{1}}' type="button" class="btn btn-default {{IsShapeToolSelected(1)}}">
<img src="Content/imgs/idv.MapTools_Reports/line-24x24.png" />
<br />
<span>line</span>
</button>
答案 0 :(得分:2)
有没有办法用参数运行计算属性?
不,但您的问题还有其他解决方案:
computed: {
IsShapeToolSelected: function () {
return (function (toolId) {
return toolId == this.get("QueryTool.QueryByShapeTool") ? "selected-tool" : "";
}).bind(this);
}
}
或
data: {
IsShapeToolSelected: function (toolId) {
return toolId == this.get("QueryTool.QueryByShapeTool") ? "selected-tool" : "";
}
}
或
computed: {
// use IsShapeToolSelected.1 instead of IsShapeToolSelected(1)
IsShapeToolSelected: function () {
var obj = {};
obj[this.get("QueryTool.QueryByShapeTool")] = "selected-tool";
return obj;
}
}