Не могу передать тему как параметр Vue - PullRequest
0 голосов
/ 03 мая 2018

У меня есть следующие инструкции ...

<template>
    <jg-header :greeting="greeting" :subject="message$"></jg-header>
</template>
<script>
   import * as Rx from 'rxjs/Rx';
   const messageObservable = new Rx.Subject();
   export default{
   subscriptions: {
         message$: messageObservable
   },
   data: function(){
       return {
           greeting: "My Name"
       }
   },
</script>

<template lang="pug">
div(class="jg-header")

  md-button.md-icon-button(@click="toggle()")
      md-icon menu
  h1 {{ greeting }}
  h2 {{ subject }}
</template>
<script>
export default {
    props: ['greeting', 'subject'],
    methods: {
        toggle: function(){
            console.log(Object.entries(this.$props)[0]);
        }
    }
}
</script>

Приветствие прошло нормально, но тема не определена.

(2) ["субъект", не определено]

Так что тема все еще не определена. Почему это не должно быть установлено :subject="message$"?

1 Ответ

0 голосов
/ 03 мая 2018

В vue.js привязка данных лайк `: subject =" message $ ", он заменит значение атрибута subject значением message $ свойство соответствующего data объекта. В вашем случае, сообщение $ не принадлежит data объекту, поэтому не удалось связать. Пожалуйста, попробуйте следующие изменения.

import * as Rx from 'rxjs/Rx';
const messageObservable = new Rx.Subject();
export default{
    data: function(){
       return {
           greeting: "My Name",
           message$: messageObservable
       }
    },
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...