vue.js 2.x 版本script里面的dom被过滤,从而获取不到dom字符串的解决方案

做项目中 vue.js 在1.x版本切换的到2.x版本的时候遇到了一个问题就是说,1.x版本实例化之后 script 里面的dom 字符串不会被过滤掉,但是2.x版本之后就会被过滤例如:

1.x 版本被实例化之后的script 内容

2.x 版本被实例化之后的script 内容

这样我们在获取 id="sh" 内容的时候就无法获取到dom结构,很多时候我们想使用这些dom结构,怎么办呢?

于是乎,经过测试及文档的查看,考虑到了,那么如果还没被完全实例化之后,我们就去获取它,这样我们就能拿到还没被过滤的DOM了吧?

是的 created 方法,于是有了下面的代码完成了。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div class="app">

    <script type="text/x-template" id="sh">
        <div>
            <h1>1111</h1>
            <p>{{msg}}</p>
        </div>
    </script>

    <button @click="setData">审核</button>

</div>
<script src="jquery.min.js"></script>
<script src="vue.min.2.x.js"></script>
<script>

    new Vue({
        el : ‘.app‘,
        data : {
            msg : null,
            shHtml : null
        } ,
        created : function(){
            this.getScriptDomStr();
        } ,
        methods : {
            getScriptDomStr : function(){
                this.shHtml = document.getElementById(‘sh‘).innerHTML
            },
            setData : function(){
                $(‘.app‘).append(‘<div id="tpl"></div>‘)
                var _self = this;
                new Vue({
                    el : ‘#tpl‘,
                    data : {
                        msg : 200
                    } ,
                    template : _self.shHtml
                })

            }
        }
    })

</script>
</body>
</html>
时间: 2024-10-18 17:28:49

vue.js 2.x 版本script里面的dom被过滤,从而获取不到dom字符串的解决方案的相关文章

js获取单选框里面的值

rt,如果想获取单选框里面的值,该如何获取呢. <script> window.onload = function(){ //通过名字获取 getElementsByName //var obj = document.getElementsByName("fruit"); //通过标签获取 getElementsByTagName var obj = document.getElementsByTagName("input"); for(var i=0;

Vue.js Ajax(axios)

Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求. Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中. Github开源地址: https://github.com/axios/axios 安装方法 使用 cdn: <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 或 <script src="ht

包学会之浅入浅出Vue.js:升学篇

上一篇<包学会之浅入浅出Vue.js:开学篇>中,我们初步了解单页面组件这个概念,现在通过一个项目,来进一步解析组件的应用吧,Go~ 需求背景 组件库是做UI和前端日常需求中经常用到的,把一个按钮,导航,列表之类的元素封装起来,方便日常使用,调用方法只需直接写上<qui-button></qui-button>或者<qui-nav></qui-nav>这样的代码就可以,是不是很方便呢,接下来我们将要完成以下页面: 这是我们组件库的首页,包含三个子

Vue.js入学教程

Vue.js是什么Vue.js 是用于构建交互式的 Web 界面的库.Vue.js 提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单.灵活的 API.Vue.js(类似于view)是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,vue采用自底向上增量开发的设计.vue的核心只关注视图层,它不仅易于上手,还便于与第三方库或即有项目整合.另一方面,当与单文件组件和vue生态系统支持的库结合使用时,vue也完全能够为复杂的但也应用程序提供驱动. Vue.js 特点 简洁: HTML

一、初识Vue.js

1.什么是Vue.js? 众所周知,最近几年前端发展非常的迅猛,除各种框架如:backbone.angular.reactjs外,还有模块化开发思想的实现库:sea.js .require.js .webpack以及前端上线部署集成工具如: grunt.gulp.fis等. Vue.js与reactjs相似,是一个构建数据驱动的 web 界面的库,一个注重ViewModel的典型的MVVM框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. Vue.js 自

Vue.js(一)了解Vue

什么是Vue? 1.Vue.js是一个构建数据驱动的web界面的库.类似于Angularjs,在技术上,他重点集中在MVVM模式的View层,非常容易学习,非常容易和其他的库或已有的项目整合. 2.Vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件. 3.Vue.js的核心是一个响应的数据绑定系统,他让数据与DOM保持同步非常简单. Vue的安装: 三种: 1.独立版版本 2.CDN 3.NPM Vue起步 Vue的功能 数据渲染: 1 <!DOCTYPE html>

vue.js的项目实战

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由蔡述雄发表于云+社区专栏 需求背景 组件库是做UI和前端日常需求中经常用到的,把一个按钮,导航,列表之类的元素封装起来,方便日常使用,调用方法只需直接写上<qui-button></qui-button>或者<qui-nav></qui-nav>这样的代码就可以,是不是很方便呢,接下来我们将要完成以下页面: 这是我们组件库的首页,包含三个子页面,按钮页面.列表页面.导航页面:点击进去子页面会由

Vue.js中学习使用Vuex详解

在SPA单页面组件的开发中 Vue的vuex和React的Redux 都统称为同一状态管理,个人的理解是全局状态管理更合适:简单的理解就是你在state中定义了一个数据之后,你可以在所在项目中的任何一个组件里进行获取.进行修改,并且你的修改可以得到全局的响应变更.下面咱们一步一步地剖析下vuex的使用:首先要安装.使用 vuex首先在 vue 2.0+ 你的vue-cli项目中安装 vuex : npm install vuex --save 然后 在src文件目录下新建一个名为store的文件

在django中使用vue.js需要注意的地方

有接口如下: http://127.0.0.1:8000/info/schemes/ 返回json数据: [ { "name": "(山上双人标准间)黄山经典二日游(魅力黄山,日出云海,人间仙境,春暖花开)", "day": 2, "night": 1, "favorites": 0, "score_avg": 4, "photo_url": "/media