vuejs2 相关问题

将此标记用于特定于Vue.js版本2的问题,这是一个用于构建用户界面的开源,渐进式Javascript框架。

我如何显示特定元素的信息vuejs

hello早上好,我有一个问题,我有2张桌子,一个主桌子上有一个按钮,可以打开第二个桌子的弹出窗口。 有什么想法?如果我单击第一个按钮...

回答 2 投票 0


使用SELECT时如何返回布尔值,而不是字符串? 我有这个: -

... 我有这个: - <div class="form-group"> <label for="">Allow Multiple</label> <select class="form-control" v-model="allowMultiple"> <option value=true>Yes</option> <option value=false>No</option> </select> </div> I设置allowMultiple=true当我初始化它时,但是当我选择否时,allowMultiple='false'则不再是布尔值,而是字符串?如何使其成为布尔? 在html中,如果在标签中设置属性值,则该值将为默认类型 - string。因此,您可以将vuev-model与:value结合使用new Vue({ el:'#app', data: { allowMultiple: false }, methods: { print: function () { alert(this.allowMultiple); } } })将其绑定到其他类型值,例如,布尔值,数字和等。 遵循代码正在工作,结果就是您想要的 <div class="form-group" id='app'> <label for="">Allow Multiple</label> <select class="form-control" v-model="allowMultiple" @change='print'> <option :value='true'>Yes</option> <option :value='false'>No</option> </select> <div> Type: {{ typeof allowMultiple }}, Value: {{ allowMultiple }} </div> </div> <script src="https://unpkg.com/[email protected]/dist/vue.min.js"></script> v-for 这里是一种在Vue中进行的方式。 而不是在HTML中对您的选项进行硬编码。使用VUE方式,在VUE数据中设置选项数组,然后使用new Vue({ el: '#app', data: { allowMultiple: true, options: [ {text: 'Yes', value: true}, {text: 'No', value: false}, ], } })渲染数组中的所有选项。 EACH选项应具有2个属性:文本和值。价值应该是您想要的布尔值。 现在,每当用户更改选定的选项时,它将始终为布尔值。 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script> <div id="app"> <div class="form-group"> <div>Allow multiple: {{allowMultiple}} [Type: {{typeof allowMultiple}}]</div><br> <label for="">Allow Multiple</label> <select class="form-control" v-model="allowMultiple"> <option v-for="option in options" :value="option.value">{{option.text}}</option> </select> </div> </div> <select id="selected" v-model="item.selected"> <option :value=0>No</option> <option :value=1>Yes</option> </select> 我发现对我有用的更容易,更快的方法是: const options = [ { text: "0", value 0 }, { text: "zero", value: "0"}, { text: "false", value: "false"}, { text: "False-boolean", value: false} ]; 也许这对任何人都有用。 我在我们的代码库中遇到了这个问题,我想出了对这个问题的通用方法。我们有多个Web应用程序,有些使用React和其他用途。 有多种修复方法。 为以下选项列表进行了处理,我们使用了此初始数据结构。 onst makeUUID = () => Math.floor(Math.random() * Math.floor(Math.random() * Date.now())); DTO 现在,当将其提供给Select时,它将进入bellow。 const makeOptionsForSelectDTO = ({options = [], _makeUUID = makeUUID} = {}) => { return ( options?.map?.((option) => ({ option: { ...option, value: `${option?.value}`, id: `${_makeUUID ()}` }, valueToEmit: option?.value, key: _makeUUID () })) || [] } 然后,这将输出一个看起来像波纹管的数据结构,并提供给Select。 const optionsDTO = [ { options: { text: "0", value "0", id: UUID }, valueToEmit: 0, key: UUID }, { option: { text: "zero", value: "0", id: UUID }, valueToEmit: "0", key: UUID }, { option: { text: "false", value: "false", id: UUID }, valueToEmit: "false", key: UUID }, { option: { text: "False-boolean", value: false, id: UUID }, valueToEmit: false, key: UUID } ] 现在使HTML看起来像bellow的部分: <select v-if="isDataSettled" :name="name" :id="id" class="select__items-container" data-test-id="select__items-container" :placeholder="placeholder" :disabled="isDisabled" @change="onChangeSelect" > <option v-for="{ key, option } in optionsDTO" v-bind="option" class="select__item" data-test-id="select__item" :key="key" > {{ option.text }} </option> </select> 和处理该事件的功能是 onChangeSelect({ target = {} } = {}) { // one you select from the DOM an option is highlighted as selected in the target object. Based on the selected one I extract the ID const { id = "" } = Object.values(target)?.find?.(({ selected } = {}) => selected) || {}; // based on the ID I extract the initial value which was passed down in the options const { valueToEmit = "" } = this.optionsDTO?.find?.( ({ option = {} } = {}) => option.id === id ) || {}; this.$emit(DOMEvents.CHANGE, valueToEmit); } trone this: <option value=1>Yes</option> <option value=0>No</option>

回答 0 投票 0



在VUE 2

我目前正在使用VUE 2合作,并正在寻找一种访问lotted组件中的父组件道具数据的方法 <...<template> <div class="grid-container"> <div class="container"> <div class="row justify-content-starts"> <slot :block="block"></slot> </div> </div> </div> </template> 上面的我的父类包含一个blockprop,我希望插槽内的任何子组件都可以访问此数据。 <template v-slot="{ block }"> <div> <p>Block: { block }</p> </div> </template> 以实例,传递到插槽的子部分就是这样。但是,即使使用插槽范围,我也无法实现此功能。 我遇到的错误是 vue.js:634 [Vue warn]: Property or method "block" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property did did您在声明您的父组件时添加此内容? : <script> export default { props: { block: String, } }; </script> 然后使用您添加的父组件: <template> <Parent :block="'Example'"> <template v-slot:default="{ block }"> <p>Block: {{ block }}</p> </template> </Parent> </template> 也要注意,它是{{block}}不是{block}

回答 1 投票 0

bootstrap模态隐藏从VUE方法

I有一个VUEJS组件,该组件显示一个模态对话框,内部有一个小的形式。提交表单时,我想隐藏模式,但无法弄清楚如何做。提交表格...

回答 6 投票 0




打开链接

我的代码如下: <template> <div> <button @click="openNewTab">Open Link</button> </div> </template> <script> export default { data() { return { url: 'https://example.com' }; }, methods: { openNewTab() { setTimeout(() => { window.open(this.url, '_blank'); }, 300); // Slight delay avoids blocking in some cases } } }; </script> 我试图在没有窗口的情况下致电。通过替换文档打开。 querySelector()。click()都无法正常工作。 我需要在新选项卡中动态链接。 您只能使用像这样的标签 <template> <div> <a :href="url" target="_blank">Open Link</a> </div> </template> <script> export default { data() { return { url: 'https://example.com' }; } }; </script> 您还可以将目标属性更改为使用变量或props

回答 0 投票 0

declaring object.protype in JS- vuerouter中它会自动调用方法

i通过创建自己的函数来声明对象的扩展方法。但是,我不会在任何地方致电或导入它。结果,我得到了一个例外。我该如何解决?我不记得这种行为...

回答 1 投票 0


如何在nuxt.js

我有一个我想使用内联样式的文件 使用标签的图像正确显示,但标签中的图形不是。 如何正确指定文件路径? 我不确定这是通用的解决方案,但是这个解决方案在我的方面工作<img src="~static/img/info/production/pic4.jpg" class="t22" /> <a href="/page/fresco-art" class="btn t23">First text</a> <div class="hr t24"></div> <h2 class="t25">Second text</h2> <ul class="services"> <li :style="{ backgroundImage: `url('~static/img/info/production/pic5.jpg')` }" class="sq"> <div class="n">Third text</div> </li> </ul> 似乎在这里需要<img>,不确定为什么会起作用。文档中的更多信息:https://nuxtjs.org/docs/2.x/directory-schrenture/assets/#images

回答 0 投票 0

VUE2 -ESLINT +标准 + Prettier

我如何创建一个使用ESLINT + Standardjs + Prettier的VUE 2项目? Standardjs的规则自然应该优先优先。 Vue Create仅提供以下选项: 埃斯林...

回答 1 投票 0

如何将一些NUXT代码转换为某些vue?

导出默认{ 成分: { 特色产品 },, 异步Asyncdata({$ axios}){ 尝试 { 让响应= ... </desc> <question vote="2">我如何将此NUXT脚本转换为Vue兼容的脚本? <p><code>&lt;script&gt; export default { components: { FeaturedProduct }, async asyncData({ $axios }) { try { let response = await $axios.$get( &#39;http://localhost:5000/api/products&#39; ) console.log(response) return { products: response.products } } catch (error) {} } } &lt;/script&gt; </code></p> <pre>我可以在Vue中浏览一下吗?如果我删除了</pre><code>$</code><p>,它会给我一个错误说<pre> </pre> Axios未定义</p> <blockquote> <p> </p> </blockquote>这将是VUE中的语法(假设您已经为VUE安装了Axios)</question> <answer tick="true" vote="2"><code>&lt;script&gt; export default { async created() { try { let response = await this.axios( &#39;http://localhost:5000/api/products&#39; ) console.log(response) this.products = response.data.products } catch (error) {} } } &lt;/script&gt; </code><p> </p> <pre></pre>

回答 0 投票 0



如何访问vuejs

我想在方法对象中访问函数中的模板参考。当前,访问裁判时,它会抛出不确定的。 我的代码下面: 我想在方法对象中访问函数中的模板参考。目前,访问ref. 我的代码下面: <template> <ul ref="lvl1_target" style="width: 440px" class="lvl1_target milestone_asset_data"> <li :style="{'width': getMileStonePercent(4,'lvl1_target')}" class="hybse_data"> <span></span> <i></i> <small>$4M</small> </li> </ul> </template> 脚本标签中的代码如下: export default { methods: { getMileStonePercent(num, secWrp) { let ele = this.$refs[secWrp] return ele.offsetWidth + '%' }, }, created() {}, } kindly,通过访问我功能中的模板参考来提供解决方案以获取宽度。预先感谢 您需要在要目标的元素中添加一个ref属性。 我不确定您到底要做什么,这是一个通用的示例:<template> <div ref="myElement"></div> </template> export default { methods: { setText() { this.$refs.myElement.innerHTML = "Hello world" }, }, } vueref文档 您可以尝试 export default { methods: { this.$next(tick() => { setText() { this.$refs.myElement.innerHTML = "Hello world" } }) }}

回答 2 投票 0


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.