Vue.js中使用无状态组件的方法介绍


当前第2页 返回上一页

使用以下命令在dev服务器中运行应用程序:

1

npm run serve

你的浏览器的结果应该是这样的:

1.png

呈现函数方法

功能组件也可以包含呈现函数。

开发人员使用呈现函数来创建他们自己的虚拟DOM,而不使用Vue模板。

使用渲染函数在cars列表下创建一个新按钮。在你的项目文件夹中创建一个名为example.js的新文件,并将下面的代码块复制到文件中:

1

2

3

4

5

6

export default {

    functional: true,

    render(createElement, { children }) {

      return createElement("button", children);

    }

  };

这将在功能组件中创建一个呈现函数来显示按钮,并使用元素上的子节点作为按钮文本。

打开app.vue文件,将下面的代码块复制到文件中:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<template>

  <div id="app">

    <img alt="Vue logo" src="./assets/logo.png">

    <Test

     :brands ="['Tesla', 'Bentley', 'Ferrari', 'Ford']">

    </Test>

    <Example>

     Find More Cars

    </Example>

  </div>

</template>

<script>

import Test from './components/Test.vue'

import Example from './Example'

export default {

  name: 'app',

  components: {

    Test, Example

  }

}

</script>

<style>

#app {

  font-family: 'Avenir', Helvetica, Arial, sans-serif;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  text-align: center;

  color: #2c3e50;

  margin-top: 60px;

}

</style>

如果再次运行该应用程序,您将看到find more cars(查找更多汽车)子节点现在是按钮的文本。示例组件在检查时显示为功能组件。

2.png

添加点击事件

您可以在组件上添加单击事件,并在根组件中包含该方法。但是,您需要render函数中的数据对象参数来访问它。

复制这个在你的example.js文件:

1

2

3

4

5

6

export default {

    functional: true,

    render(createElement, { data, children }) {

      return createElement("button", data, children);

    }

  };

现在,将单击事件添加到根组件中,Vue将识别它。将以下内容复制到您的app.vue文件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<template>

  <div id="app">

    <img alt="Vue logo" src="./assets/logo.png">

    <Test

     :brands ="['Tesla', 'Bentley', 'Ferrari', 'Ford']">

    </Test>

    <Example @click="callingFunction">

     Find More Cars

    </Example>

  </div>

</template>

<script>

import Test from './components/Test.vue'

import Example from './Example'

export default {

  name: 'app',

  components: {

    Test, Example

  },

  methods: {

    callingFunction() {

      console.log("clicked");

    }

  }

}

</script>

除了上面的示例之外,您还可以在官方文档中列出的功能组件中使用其他参数。

结论

这个功能组件的初学者指南可以帮助您实现快速的表示,显示项目的循环,或者显示不需要状态的工作流的简单部分。

相关推荐:

2020年前端vue面试题大汇总(附答案)

vue教程推荐:2020最新的5个vue.js视频教程精选

更多编程相关知识,请访问:编程入门!!

以上就是Vue.js中使用无状态组件的方法介绍的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

vue的响应式原理是什么?

什么是vue.js插件

vue.js与其它框架的不同是什么

如何启动vue.js项目

什么叫vue.js

使用proxy实现双向绑定的方法介绍(代码)

小程序中canvas如何实现图案在线定制的功能

vue.js怎么请求数据

怎样运行别人的vue.js

vue 手势组件教程

更多相关阅读请进入《vue.js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...