根据说明我有以下内容......
<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”,undefined]
所以主题仍未定义。为什么不应该由:subject="message$"
设置?
答案 0 :(得分:0)
在vue.js中,数据绑定喜欢`:subject =“message $”,它会将属性主题的值替换为消息的值相应的数据对象上的$ 属性。在您的情况下,消息$ 不属于数据对象,因此无法绑定。 请尝试以下更改。
import * as Rx from 'rxjs/Rx';
const messageObservable = new Rx.Subject();
export default{
data: function(){
return {
greeting: "My Name",
message$: messageObservable
}
},
}