标签: vue-props

Vue-router4 - 使用 <router-link :to> 传递对象不会传递动态数据

我浏览了这个vue-router@4.05 对象参数,它有些相关。该线程中提到了这个https://github.com/vuejs/vue-router-next/issues/494,但我仍然很困惑。

我还尝试使用路由器链接组件的:to属性传递一些数据。我做了两支笔来展示这个问题:

Pen 1成功传递了在路由定义中定义的对象。

Pen 2尝试传递一个动态对象,但它获取的是一个带有 [Object object] 的字符串,而不是实际对象,如 github 问题中所述。

控制台输出:

[Vue warn]:无效的道具:道具“存储库”的类型检查失败。预期对象,得到具有 > 值“[object Object]”的字符串。at <Repository repository="[object Object]" onVnodeUnmounted=fn ref=Ref > at at at

所以,如果我明白这一点,最终你不能传递一个动态对象,因为它被解析了,但你可以传递一个静态对象?

我尝试过使用 props: true 和一切,我正在尝试将功能模式解决方案作为更复杂的示例

片段:

    <router-link :to="{ name: 'Home' }">Home</router-link>
    <router-view />
Run Code Online (Sandbox Code Playgroud)
    <router-link
      :to="{
        name: 'Repository',
        params: { repository: { one: '1', two: '2' } },
      }">click me</router-link>
Run Code Online (Sandbox Code Playgroud)

v1

    const routes: Array<RouteRecordRaw> = [
    {
      path: "/",
      name: "Home",
      component: Home …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-props vue-router4

1
推荐指数
1
解决办法
4600
查看次数

VueJS 切换密码可见性而不改变“type”属性

我有一个正在使用的基本输入组件,它作为type一个属性,到目前为止一直工作得很好。然而,尝试使用它作为密码并实施混淆有点棘手。

如何在不改变 prop 的情况下切换密码的隐藏/显示?我认为做到这一点type = 'password'type = 'text最好的方法,但显然不是。

我已经制作了一个Codesandbox来复制组件的该部分,但是任何建议或方向将不胜感激!

密码输入.vue:

<template>
  <div>
    <input :type="type" />
    <button @click="obfuscateToggle" class="ml-auto pl-sm _eye">
      <div>
        <img :src="`/${eyeSvg}.svg`" alt="" />
      </div>
    </button>
  </div>
</template>

<script>
export default {
  name: "HelloWorld",
  data() {
    return {
      passwordVisible: false,
      eyeSvg: "eye-closed",
    };
  },
  props: {
    type: { type: String, default: "text" },
  },
  methods: {
    obfuscateToggle() {
      if (this.eyeSvg === "eye-closed") {
        this.eyeSvg = "eye";
      } else this.eyeSvg = "eye-closed"; …
Run Code Online (Sandbox Code Playgroud)

passwords obfuscation vue.js vue-props

1
推荐指数
1
解决办法
3872
查看次数

Vue JS 将数据从父级传递给子级的子级

在Vue.js中,如何正确地将数据从父组件传递到多级子组件链?

state vue.js vue-props

0
推荐指数
1
解决办法
2512
查看次数

如何在 Vue 3 中将 props 与组件的本地数据进行 2 路绑定?

谁能告诉我如何将组件的 prop 绑定到它自己的数据属性?例如,假设我有一个名为ModalComponent

<template>  // ModalComponent.vue
   <div v-if="showModal">
      ...
      <button @click="showModal = !showModal">close the modal internally</button>
   </div>
</template>

<script>
export default {
  props: {
    show: {
      type: Boolean,
      default: false
    },
  },
  data() {
    return {
      showModal: false,
    }
  }
}
</script>

<style>
</style>
Run Code Online (Sandbox Code Playgroud)

现在考虑我使用此模式作为父组件内部的可重用组件,使用外部按钮打开模式的弹出窗口。

<template>
  <button @click="showChild = !showChild">click to open modal</button>
  <ModalComponent :show="showChild" />
</template>

<script>
export default {
  components: {ModalComponent},
  data() {
    return {
      showChild: false,    
    }
  }
}
</script>

<style>
</style>
Run Code Online (Sandbox Code Playgroud)

如何使每次父母单击按钮时,通过将本地绑定showModal到 prop …

javascript vue.js two-way-binding vue-props vuejs3

0
推荐指数
1
解决办法
3255
查看次数