账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Vue的扩展实例构造器模板里面不可以使用vue的实例数据对象吗?
    26
    0

    在入门学习vue的extend。有疑惑:Vue的扩展实例构造器模板里面不可以使用vue的实例数据对象吗?

    <div id="app">
            <sg></sg>
        </div>
        
        <script type="text/javascript">
        var authorExtend = Vue.extend({
            template: "<p><a :href='url' target='_blank'>{{siteName}}-{{msg}}</a></p>",
            data: function() {
                return {
                    url: 'https://segmentfault.com',
                    siteName: 'sg'
                }
            }
        });
        new authorExtend().$mount('sg');
        var app = new Vue({
            el: "#app",
            data: {
                msg: "1"
            }
        });
        </script>

    控制台报错:

    Property or method "msg" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.

    所以,Vue实例的数据用不到扩展里面,如果想用,应该怎么弄?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 回眸一笑 普通会员 1楼

      是的,Vue的扩展实例构造器模板是不能直接使用Vue的实例数据对象的。这是因为扩展实例构造器是在Vue实例的构造函数之外,不能直接访问到Vue实例的实例数据对象。

      如果你想在扩展实例构造器模板中使用Vue的实例数据对象,你需要在模板中使用一个全局的变量来存储这些数据。例如:

      ```html

      ```

      在这个例子中,data是一个全局的变量,它可以在模板中被引用和修改。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部