【问题标题】:Passing props to instances mounted on existing markup and created with Vue.extend将 props 传递给安装在现有标记上并使用 Vue.extend 创建的实例
【发布时间】:2017-05-24 21:35:23
【问题描述】:

我想用 Vue 实例替换网站的某些部分。其中一个实例是简单的倒计时。我使用以下语法创建实例:

const Countdown = Vue.extend({

....

});

然后,在一个主文件中,我按以下方式初始化倒计时,手动将其挂载到现有标记:

const instance = new Countdown();

instance.$mount('.js-countdown');

标记只是一个简单的 div,其中包含其他元素:

<div class="counter js-countdown"> ... </div>

我的问题是我能否像使用自定义组件一样将道具传递给我的倒计时,因为它是实例的根:

<div class="counter js-countdown" hours="2"> ... </div>

【问题讨论】:

    标签: javascript html vue.js frontend


    【解决方案1】:

    在选项中将propsData 传递给它:

    const instance = new Countdown({
        propsData: { hours: 2 }
    });
    

    【讨论】:

    • 太棒了!这在某些情况下会有所帮助。但是如果我有一个计算属性呢?比如&lt;div start-time="{{ helpers.getTimestamp() }}"&gt; ... &lt;/div&gt;我用的是nunjucks模板引擎。
    猜你喜欢
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 2016-10-22
    相关资源
    最近更新 更多