https://jsfiddle.net/2xwo87bs/
为了让Vue处理传递给组件的对象prop,我必须首先将字符串转换为对象(在代码段中,我已经轻松地使用了JSON.parse()
)。有没有一种方法可以将真正的javascript对象作为道具直接传递给组件,而无需将其解释为字符串?注意,我将多次使用该组件,这会使单个data()
对象传递到prop中,然后将该道具用于v-bind
的prop中,每次使用都不切实际
答案 0 :(得分:1)
通过这样的道具时:
private void Automation_Checked(object sender, RoutedEventArgs e)
{
CheckBox cb = (CheckBox)sender;
if (cb.IsChecked == true)
{
twtr = new TwitterBot(totalPicTBox.Text);
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += Worker_DoWork;
worker.RunWorkerCompleted += Worker_Completed;
worker.RunWorkerAsync();
}
}
private void Worker_DoWork(object sender, DoWorkEventArgs e)
{
twtr.UploadPics(twtr.results, startT, endT));
// This is calling a global var of an instantiated class that has a method to upload pictures to twitter.
}
private void Worker_Completed(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show("Completed the work/uploads.");
}
...您实际上是在传递字符串<component ok='{"data-x":1}'></component>
作为prop值。
您需要使用绑定来评估道具价值:
'{"data-x":1}'
...或使用速记版本:
<component v-bind:ok='{"data-x":1}'></component>
通过这种方式,对象<component :ok='{"data-x":1}'></component>
作为prop值被传递。