VUEJS第2部分:Hello Vue和在HTML中显示值
#javascript #前端 #vue #codenewbie

最近,我开始学习vuejs,本文是我学习时一系列笔记的一部分。在此中,我将介绍如何在使用VUEJS时在HTML中显示值。另外,我将介绍如何控制HTML属性。

初始申请

对于启动应用程序,我将使用上一篇文章中的简单应用程序。

<!-- index.html -->
<!doctype html>
<html>
    <head></head>
    <body>
        <div id="app">
            <div>Hello world!</div>
        </div>
        <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
        <script type="text/javascript" src="script.js"></script>
    </body>
</html>
// script.js
Vue.createApp({
  data() {
    return {
      message: "Hello world"
    }
  }
}).mount("#app")

我不会详细介绍上述代码,因为它在上一篇文章中涵盖了上述代码。我唯一要注意的是,它使用CDN来加载VueJS库。另外,在应用程序数据中,有一个称为消息的变量,而HTML中包含文本的硬编码字符串!

在HTML中显示值

使用VUEJS在HTML中显示值时,您需要做的就是将表达式放置在双卷发支架({{ EXPRESSION }})的内部以及打开和关闭HTML标签之间。您可能会注意到我使用了术语表达式。我这样说的原因是因为您可以在卷曲支架之间几乎放置任何有效的JavaScript表达。

<!-- index.html -->
<!doctype html>
<html>
    <head></head>
    <body>
        <div id="app">
            <div>{{ "Hello world" }}</div>
            <div>{{ 1 + 3 }}</div>
            <div>{{ Math.round(3 + Math.random() * 5) }}</div>
            <div>{{ (() => "Function result")() }}</div> 
            <div>{{ true ? "true expression" : "false expression" }}</div>
        </div>
        <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
        <script type="text/javascript" src="script.js"></script>
    </body>
</html>

在上面的代码示例中,显示了不同的硬编码值。如您所见,有一个字符串,数字,数学功能的结果,甚至是自我启动功能。这使我回到了我上面使用的另一个术语。几乎所有有效的JavaScript表达式。只要结果是一定的值,就可以将其放在卷曲括号内。您可以放置​​像变量分配之类的东西。

通常,您不想仅在HTML中显示一些硬编码值。您将拥有一些可能要显示的应用程序变量。这是非常相似的方式。您需要做的就是在相同的卷发支架之间使用一个变量名。

<!-- index.html -->
<!doctype html>
<html>
    <head></head>
    <body>
        <div id="app">
            <div>{{message}}</div>
        </div>
        <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
        <script type="text/javascript" src="script.js"></script>
    </body>
</html>

应用程序变量也可以在HTML内部的表达式中使用。

显示复杂的结构

并非所有值都是原始人。也有数组和对象。如果您尝试显示这些内容,Vue将尝试将它们串起并这样显示。如果您选择渲染一个包含数字一到三的数组,则结果将为[1,2,3]。

显示方法结果

可能需要运行一些逻辑并在HTML中显示其结果。该逻辑不应在卷曲支架之间的HTML中。这就是为什么在初始化应用程序时,在初始化对象内部的应用程序时,您可以添加包含所有方法的方法属性。然后,只要使用他们的名字并在双卷发支架之间调用它们,就可以显示其结果。

// script.js
Vue.createApp({
  data() {
    return {
      exampleName: "John",
    }
  },
  methods: {
    getMessage: () => "Hello method",
    getNameGreeting: function(){ return `Hello ${this.exampleName}` }
  }
}).mount("#app")
<!-- index.html -->
<!doctype html>
<html>
    <head></head>
    <body>
        <div id="app">
            <div>{{getMessage()}}</div>
            <div>{{getNameGreeting()}}</div>
        </div>
        <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
        <script type="text/javascript" src="script.js"></script>
    </body>
</html>

您可能会在上面的示例中注意到getName -Greeting方法使用此关键字访问数据值。在应用程序构建期间,VUEJS可以使用它访问应用程序数据。要注意的重要一点是,如果要访问数据,则不能将方法定义为匿名函数。

控制HTML属性

通常,您可能需要使用一些应用程序数据来控制HTML属性。最简单的示例是设置链接HREF属性。在这种情况下,您可以使用双卷发支架。但是,Vuejs确实给我们的是可用于此的特殊属性。在这种情况下,这是一个v绑定属性,然后添加由Colon分隔的HTML属性名称。传递给它的值是引号内放置的表达式或变量名称。

// script.js
Vue.createApp({
  data() {
    return {
      linkValue: "https://www.google.com",
    }
}).mount("#app")
<!-- index.html -->
<!doctype html>
<html>
    <head></head>
    <body>
        <div id="app">
            <a v-bind:href="linkValue">Google</a>
        </div>
        <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
        <script type="text/javascript" src="script.js"></script>
    </body>
</html>

本文中使用的代码可以在我的GitHub repository中找到。


有关更多信息,您可以在TwitterLinkedInGitHubInstagram上关注我。