如何在计算内访问$refs
?第一次运行计算属性时,它始终未定义。
7
A
回答
22
要回答我自己的问题,我无法在其他地方找到满意的答案。有时你只需要访问一个dom元素来进行一些计算。希望这对其他人有帮助。
我不得不欺骗Vue在组件装入后更新计算属性。
Vue.component('my-component', {
data(){
return {
isMounted: false
}
},
computed:{
property(){
if(!this.isMounted)
return;
//$refs is available
}
},
mounted(){
this.isMounted = true;
}
})
+0
这样一个整洁的小动作,谢谢! – jwahdatehagh
0
对于其他用户像我这样只需要通过一些数据来支撑,我用data
代替computed
Vue.component('my-component', {
data(){
return {
myProp: null
}
},
mounted(){
this.myProp= 'hello'
//$refs is available
// this.myProp is reactive, bind will work to property
}
})
1
如果需要$refs
的v-if
后,您可以使用updated()
挂钩。
<div v-if="myProp"></div>
updated() {
if (!this.myProp) return;
/// this.$refs is available
},
相关问题
- 1. 使用C#中的PowerShell计算属性
- 2. 计算属性
- 3. 计算属性在棱镜
- 4. Backbone中的计算属性
- 5. Ember使用JS的计算属性apply()
- 6. MVVM计算属性
- 7. RavenDB - 计算属性
- 8. 在vueJs中使用计算属性中的方法
- 9. 在Vuejs中使用数据中的计算属性
- 10. 计算属性中的自调用
- 11. 在计算属性中加载数据
- 12. 在ASP.NET中如何计算'name'属性?
- 13. 在swift中更改计算属性
- 14. 在计算()中获取ramp属性
- 15. 使用其他属性的值进行计算的属性
- 16. 如何在Ember.js中使用“needs”控制器的计算属性?
- 17. Vuejs 2在同一个计算属性中使用filterBy和orderBy
- 18. 在Ember模型的计算属性中使用承诺
- 19. Magento - 已计算产品属性(属性)
- 20. 如何在计算使用后台线程时正确声明计算属性?
- 21. 是否可以使用计算的属性来计算Vue中的另一个属性?
- 22. Aurelia计算属性与ES5
- 23. 语义mediawiki属性计算
- 24. 计算属性不触发
- 25. Vue JS AJAX计算属性
- 26. EmberJS - 观察计算属性
- 27. 计算嵌套属性Vuejs
- 28. 类和计算的属性
- 29. Vue.js循环计算属性
- 30. Vue.js和计算属性
是的,只有当第一个渲染循环完成时才定义它。对于它的价值,明确不建议在计算属性内使用$ refs,因为它不是被动的。 https://vuejs.org/v2/guide/components.html#Child-Component-Refs你可能必须找到一个更好的模式... – Cobaltway