1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <template>
- <view class="selector-query-view">
- <text>selector-query</text>
- <text class="text red">{{text1}}</text>
- </view>
- <view class="selector-query-view">
- <text>selector-query</text>
- <text class="text green">{{text2}}</text>
- </view>
- <view v-if="text1.length>0">1</view>
- <text>{{text3}}</text>
- </template>
- <script>
- export default {
- data() {
- return {
- text1: "",
- text2: "",
- text3: "test-text-node",
- viewCount: 0,
- selectCount: 0,
- selectAllCount: 0,
- show: false,
- testCounter: 0
- }
- },
- mounted() {
- uni.createSelectorQuery().in(this).select('.selector-query-view').boundingClientRect().exec((ret) => {
- this.text1 = JSON.stringify(ret, null, 2)
- if (ret.length == 1) {
- this.selectCount = ret.length
- }
- this.testCounter++
- this._dispatchEvent()
- })
- uni.createSelectorQuery().in(this).selectAll('.selector-query-view').boundingClientRect().exec((ret) => {
- this.text2 = JSON.stringify(ret, null, 2)
- if (ret.length == 1) {
- this.selectAllCount = (ret[0] as NodeInfo[]).length
- }
- this.testCounter++
- this._dispatchEvent()
- })
- },
- methods: {
- _dispatchEvent() {
- if (this.testCounter == 2) {
- uni.$emit('childReady')
- }
- }
- }
- }
- </script>
- <style>
- .green {
- border: 3px solid green;
- }
- .red {
- border: 3px solid red;
- }
- .view {
- border: 3px dashed lime;
- padding: 10px;
- }
- .text {
- margin-top: 20px;
- padding: 5px;
- }
- </style>
|