`
yeluowuhen
  • 浏览: 155752 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

vue 在新窗口打开页面并设置不同的背景

    博客分类:
  • JS
 
阅读更多

      开发一个新系统,前端用的vue,vue是单体应用,所有页面都在一个窗口里实现,但项目要求在点button链接后要新打开一个浏览器页面,解决方法如下:

1. 给此button设置新事件 @click="createdefect"

<el-button v-no-more-click type="primary"  icon="el-icon-circle-plus-outline" @click="createdefect">提交缺陷</el-button>

2.在页面上新增一个默认 a组件

<a   ref='target'  class="link"  target="_blank"></a>

3. 写js事件

createdefect(){
  let target = this.$refs.target
  target.setAttribute('href', window.location.origin + '/#/createDefect')
  target.click()
},

    或者可以这样:

createdefect(){
  let routeName = "createDefect";
  let routeData = this.$router.resolve({
    name: routeName,
  });
  window.open(routeData.href, "_blank");
},

     然后新开的页面还用的app.vue中的全局背景,需要更改。之前想着用改变最上层body的css覆盖来解决问题,结果没走通,查资料发现要从生命周期, js的逻辑来解决。要通过一个组件“初始化”,“销毁"来控制body的颜色。下面是具体代码。

1. 在新页面的js中增加如下代码:

beforeCreate: function() {
  document.getElementsByTagName("body")[0].className="body_back";
},
beforeDestroy: function() {
  document.body.removeAttribute("class","body_back");
}

2. 在新页面对应的css中设置如下:

.body_back{
  background:linear-gradient(to right,#fff,#f5f6f9)
}
分享到:
评论

相关推荐

    Vue中在新窗口打开页面及Vue-router的使用

    在开发提分加项目的过程中,遇到了点击下拉菜单时在新窗口中打开页面,由于之前一直做的是单页面应用,没有碰到过类似的需求,于是上网搜了一下解决办法,也再次系统地温习了一下vue-router。 解决 使用路由对象...

    根据element+vue 自定义dialog+drawer组件 弹窗+抽屉 无覆盖 + 可拖拽.7z

    无覆盖效果意味着对话框或抽屉不会完全遮挡页面背景,可能需要调整Z-index或者使用半透明背景,以使背景内容可见但弱化。这样可以保持用户对背景内容的感知,同时突出弹出窗口的重要性。 可拖拽功能则需要用到...

    Tab 控件的实现,添加背景色

    在本教程中,我们将深入探讨如何实现Tab Control,特别是在Windows Forms或WPF等桌面应用程序环境中,并讨论如何为Tab Control添加背景色以及与用户登录功能的集成。 首先,让我们了解什么是Tab Control。Tab ...

    温州上市企业VUE前端面试题

    当点击放大镜图标时,打开一个新的页面或模态框,用户在其中选择数据,然后将选中的&lt;料件编号&gt;值传递回原来的&lt;产品编号&gt;栏位。这可以通过Vue的事件总线(Event Bus)或者Vuex状态管理来实现,确保两个组件间的数据...

    C#后台代码弹出页面或模式窗口.docx

    文档中的两个`OpenNewWinodw`方法是C#中的静态方法,它们接收一系列参数来定义新窗口的属性,并生成JavaScript代码,用于在前端打开一个新的窗口或模式对话框。这两种方法的主要区别在于`ParentFlag`参数,它决定了...

    Vue-Router-Modal

    Vue-Router-Modal 提供了一种新的路由模式,用于在不离开当前页面的情况下打开模态窗口。这样,用户可以继续在后台执行其他操作,而不会打断当前的工作流程。例如,在电商应用中,用户可以在浏览商品列表的同时,...

    Vue 仿百度搜索功能实现代码

    如果用户按下回车键,会打开一个新的窗口,跳转到百度搜索结果页面。 总的来说,这个示例展示了如何使用Vue.js和vue-resource实现一个简单的搜索功能,包括发送JSONP请求获取数据、更新视图以及处理用户输入。在...

    使用 Vue.js 仿百度搜索框的实例代码

    如果按下回车键,它会在新窗口中打开百度搜索结果页面。 2. `down` 方法用于处理向下按键事件,增加 `nowIndex`,并在必要时更新输入框的值。 3. `up` 方法处理向上按键事件,减少 `nowIndex`,并相应地更新输入框...

    Spring Boot项目导出war包放到tomcat运行跳转到页面出现404报错

    - 在弹出的窗口中,需要修改两个关键设置:将`Content Root`指向项目的根目录,而`Web Root`则应指向`src/main/webapp`目录,这是Tomcat默认查找静态资源(包括JSP)的位置。 - 完成这些配置后,IDEA会自动创建...

    屏蔽IE的工具栏菜单栏地址栏(一共两个)

    根据给定的文件信息,我们可以深入探讨...这种方法虽然在特定场景下有其实用价值,但考虑到浏览器的发展趋势和安全性考虑,建议在新项目中探索使用更现代的技术栈,如React或Vue等前端框架,以适应更广泛的浏览器环境。

    70种简单好用的js实例代码 网页.pdf

    9. **背景色变换**:通过改变 `document.bgColor` 的值来改变页面背景颜色。当颜色为 '#00ffff' 时,更改为 '#ffffff',反之亦然。 10. **打开新窗口**:`window.open()` 函数用于打开新的浏览器窗口,可以指定URL...

    常用js脚本代码.docx

    10. **打开新窗口**:`NewWindow()`函数使用`window.open()`创建一个新的浏览器窗口,并指定新窗口的属性和要打开的URL。 11. **窗口最小化**:代码片段不完整,但通常`object`标签用于插入ActiveX控件或插件,可能...

    网站开发者必须会用的73种网页JavaScript代码

    10. **打开新窗口**:`window.open()` 方法可以创建一个新的浏览器窗口,`NewWindow` 函数定义了新窗口的尺寸和属性。 11. **窗口最小化**:使用ActiveXObject(仅限于Internet Explorer)可以实现窗口最小化的功能...

    XP风格窗口

    在模拟XP窗口时,我们可以通过设置边框、背景色、圆角、阴影等属性,使窗口看起来更像XP时代的应用程序窗口。此外,还可以利用CSS3的动画效果,如滑动、淡入淡出等,增加窗口操作的动态感。对于XP风格,我们可以设定...

    模态窗口登陆效果.zip

    在网页设计中,模态窗口(Modal Window)是一种常见的用户界面设计模式,它可以在不离开当前页面的情况下打开一个新的对话框,通常用于显示重要的信息、表单填写或进行特定操作,如登录。"模态窗口登陆效果.zip" ...

    很漂亮的支持隔行换色的标签切换TAb

    标签切换是一种常见的用户界面元素,它允许用户在不同的内容或任务之间轻松切换,而无需打开新的窗口或页面。在传统的标签设计中,所有标签通常具有相同的颜色和样式,这可能导致视觉疲劳,尤其是在处理大量标签时。...

    70种简单好用的js实例代码-网页.pdf

    10. **打开新窗口**:`window.open()` 函数可以打开一个新的浏览器窗口,指定其URL、高度、宽度和其他特性。 11. **窗口最小化**:这个例子使用了ActiveX对象来最小化当前窗口,但请注意,这种方法在现代浏览器中...

    lhgdialog 最新

    此外,它还支持动态加载内容,可以在弹出窗口打开时异步获取数据,提高了用户体验。 使用lhgdialog,开发者可以轻松实现以下功能: 1. **基本对话框**:如警告、确认、信息提示等标准对话框,通过简单的调用即可...

    淘宝左侧分类导航代码

    - `&lt;a href="..." target="_blank"&gt;`:设置链接并使链接在新窗口打开。 - 内容如`1Ԫ`、`10Ԫ`等表示不同的价格区间。 - 使用`&lt;font&gt;`标签设置字体颜色和大小。 - `bgcolor="#999999"`:设置背景色为浅灰色。 6...

    在网页中添加复杂的菜单和列表组合

    在这个例子中,`onchange`事件监听器用于检测菜单项的变化,一旦用户选择了某个选项,就会调用`openNewWindow`函数,传入该选项的值(通常是目标页面的URL),从而实现在新窗口中打开页面。 ### 三、CSS美化菜单...

Global site tag (gtag.js) - Google Analytics