【问题标题】:Vue&TypeScript: 'el' property for vue-property-decorator/vue-class-component?Vue&TypeScript:vue-property-decorator/vue-class-component 的“el”属性?
【发布时间】:2018-09-08 02:39:47
【问题描述】:

让这个问题简洁明了。 TypeScript & Vue && vue-property-decorator 组合对应以下代码的哪个等效项?

var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})

【问题讨论】:

  • const app: any = new Vue({ el: '#app', data: { message: 'Hello Vue!' } as any } as any) as any。这应该可以解决问题。

标签: typescript vue.js vue-component


【解决方案1】:

vue-property-decorator 旨在使用 TypeScript 中的类样式语法来增强 Vue 组件。有问题的代码不符合标准,因为它不是一个组件。假设您要转换此单文件组件中的脚本:

App.vue

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!'
    }
  }
}
</script>

vue-property-decorator 的转换如下所示:

<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';

@Component
export default class App extends Vue {
  message = 'Hello Vue!'
}
</script>

安装根保持不变(vue-property-decorator 不会被使用):

<!-- index.html -->
<body>
  <div id="app"></div>

  <script>
    new Vue({
      el: '#app'
    });
  </script>
</body>

我建议使用vue-cli 生成一个 TypeScript 项目(在提示中选择 TypeScript 预设和“类样式语法”)。

【讨论】:

  • 感谢您的回答。为解释、例子和你的时间投票。但是,我努力使初始 html/css 完全独立于 JavaScript:首先在没有 JS 的浏览器中完全渲染,然后 Vue.js 添加动态...
猜你喜欢
  • 2020-03-10
  • 2019-12-05
  • 2019-09-08
  • 2020-01-14
  • 2021-07-03
  • 2019-02-27
  • 1970-01-01
  • 2022-07-14
  • 2020-09-15
相关资源
最近更新 更多