将数据从PHP/HTML传递到.vue组件

3
我想做的事情看起来很简单,但我似乎无法弄清楚。基本上,我有两个文件:
一个包含以下内容的 PHP 文件:
...
<user-panel v-if="user.id  && loaded" v-bind:user="user" v-bind:name="theUserName"></user-panel>
...

一个包含以下内容的 .Vue 组件文件(会被编译成另一个文件):

<template>
    <span id="userPanel" class="d-flex align-items-center">
        <a href="#" role="button" class="user-dropdown-toggle">
            <div class="logged-in d-flex align-items-center">
                <span class="d-flex align-items-center justify-contnet-center"></span>
                {{name}}
            </div>
        </a>
    </span>
</template>

<script>
    export default {
        name: "UserPanel",
        props: ['user'],
        created () {
            console.log(this.$refs.myTestField.value)
        }
    }
</script>

我想做的就是将数据从PHP传递到Vue中的{{name}}。我尝试过v-bind、data-attribute、隐藏输入等方法,任何帮助都将不胜感激。
3个回答

2

我的意图是将数据从我的.php文件传输到包含VUE代码的.js文件中。这里我向您展示我的代码。在这个示例中,我想导入一个简单的字符串,随后我想导入一个JSON。非常感谢。

<div id='app'> <App v-bind:import='Value Import'> C'è QUALCHE PROBLEMA </App> </div>"

文件 .js

var App = Vue.component("App", {
    template: `
      <div class="container">
        <div>
          <h2>{{ titolo }}</h2>
          <h3>{{ import }}</h3>

        </div>
      </div>
    `,
    props: ['import'],

    data() {
      return {
        color: "color: red",
        titolo: "Inizio Container",
      };
    }
  });

  new Vue({
    el: "#app",
  });

The above unfortunately does not work.

1
假设您有一个包含字符串的 PHP 变量。$phpString

PHP 文件

...
<my-component v-bind:myProperty="<?php echo $phpString ?>"></my-component>
...

在打印之前不要忘记转义$phpString

在Vue中定义一个名为 myProperty的属性:

<template>
  <span>
    {{ myProperty }}
  </span>
</template>

<script>
export default {
  props: ['myProperty']
}
</script>

0

Vue 单文件组件在客户端处理。

SSR也存在,但是由于您的服务器上有php,因此您必须设置REST服务,以便使用fetchaxios来消耗服务器数据并呈现给客户端。


谢谢。如果我只是在一个隐藏的输入中包含我需要的内容,然后从那里获取它,会怎样? - Adam Robertson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接