uni-app 无法拿到节点的属性值
uni-app 无法拿到节点的属性值
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
### 操作步骤:
```p
view.fields({
computedStyle:['color'],
properties:['autoplay']
}, data => {
console.log("得到节点信息" + JSON.stringify(data));
}).exec(e=> {
console.log(e);
});
无法拿到自定义的属性
预期结果:
autoplay:true
实际结果:
{}

更多关于uni-app 无法拿到节点的属性值的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 无法拿到节点的属性值的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app 中,通过 nodesRef.fields() 获取节点属性时,默认只能获取到组件文档中定义的标准属性。自定义属性(如 autoplay)需要通过 properties 参数显式声明才能获取。
根据你的代码,问题在于 properties 配置未正确指定自定义属性名。修改如下:
view.fields({
computedStyle: ['color'],
properties: ['autoplay'] // 确保与模板中定义的自定义属性名完全一致
}, data => {
console.log("节点信息:" + JSON.stringify(data));
}).exec();
注意事项:
- 检查模板中的属性名是否为
autoplay(全小写),HTML 属性不区分大小写,但需与配置保持一致 - 确认节点在渲染时已包含该属性(可通过调试工具检查元素)
- 若属性值为动态绑定,需确保数据已正确赋值
若仍无法获取,可尝试在模板中使用 data- 前缀:
<view :data-autoplay="autoplayValue"></view>
并对应修改查询配置:
properties: ['data-autoplay']

