当前位置:   article > 正文

vue-lic(三)

vue-lic(三)

通过导航栏跳转

点击对应列表项,通过路由进行跳转

active-class属性:点击router-link的内容,匹配对应样式

exact-active-class:点击router-link的内容,匹配对应样式(更精确)(这里是调整点击后文字的颜色)

  1. <template>
  2. <div class="nav">
  3. <ul>
  4. <li v-for="(value,index) in navarr" :key="index">
  5. <router-link :to="value.url" exact-active-class="textColor">{{ value.name }}</router-link>
  6. </li>
  7. </ul>
  8. </div>
  9. </template>
  10. <script>
  11. export default {
  12. name:"NavDemo",
  13. data(){
  14. return{
  15. navarr:[
  16. {name:"首页",url:"/"},
  17. {name:"MV",url:"/mv"}
  18. ]
  19. }
  20. }
  21. }
  22. </script>

跨域

Vue 应用中的跨域问题通常是由于浏览器的同源策略引起的,它阻止了一个源(origin)的网页上的JavaScript 代码请求另一个源的资源。

也就是说,只要https://www.baidu.com中https://,www.baidu,.com中有一个不一样,就会导致存在跨域问题。

解决办法:

在vue.config.js的module.exports中添加代码

  1. devServer: {
  2. // 反向代理(处理跨域问题)
  3. proxy: {
  4. "/api": { // /api表示拦截以/api开头的请求路径
  5. target: "https://www.vue-js.com/api", //目标路径
  6. changeOrigin: true, //是否开启跨域
  7. ws: false,
  8. pathRewrite: { //重写路径
  9. "^/api": ""
  10. }
  11. }
  12. }
  13. }

这里是把有 "/api" 的路径都拦截,并把在 "/api" 前面的变成"https://www.vue-js.com/api",这里因为本身就有/api,再添加了一个/api,所以需要去掉一个/api,也就是重写路径。

传递数据(父子组件之间)

组件之间传递数据的方式

1. 正向(向下)传递数据-->父组件给子组件通过自定义属性传递数据,子组件用props接收

2.逆向传递数据(vue不支持逆向传递)-->子组件给父组件传递,通过$emit("事件名",要传递的数据)自定义监听事件

3.$refs -->获取所有的组件

4.$children 从父组件中获取所有的子组件(获取到的是一个数组)

5.$parent 通过子组件获取父组件

  1. <script>
  2. import OneDemo from './OneDemo.vue';
  3. import TwoDemo from './TwoDemo.vue';
  4. export default {
  5. name:"FuDemo",
  6. data(){
  7. return{
  8. str:"父组件的str"
  9. }
  10. },
  11. components:{
  12. OneDemo,
  13. TwoDemo
  14. },
  15. methods:{
  16. getAll(){
  17. // $refs 获取所有组件
  18. // console.log("父组件中获取所有组件:",this.$refs);
  19. // this.$refs.parentStr.innerHTML = "这是通过$refs获取到节点并修改的数据"
  20. // 获取子组件中的数据并修改
  21. // console.log(this.$refs.one.getData);
  22. // this.$refs.one.str = "在父组件中通过$refs获取到one组件并修改数据";
  23. // 调用子组件中的函数
  24. // this.$refs.one.getData();
  25. // 获取当前父组件中的所有子组件
  26. // console.log(this.$children);
  27. // 修改子组件中的数据
  28. // this.$children[1].str = "通过$children获取到two组件并修改数据"
  29. // console.log(this.$refs.two.$parent);
  30. this.$refs.two.$parent.str = "自己修改自己的数据";
  31. }
  32. }
  33. }
  34. </script>
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号