首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >测试时Vue JS组件模板渲染问题

测试时Vue JS组件模板渲染问题
EN

Stack Overflow用户
提问于 2017-09-27 11:08:44
回答 1查看 711关注 0票数 3

我在测试vue组件时遇到了问题,下面的代码实际上可以工作,但测试并不起作用。我做了一些搜索,我意识到在导入Vue时vue 2.0只使用运行时构建的问题,我需要使用vue/esm或使用render函数。我遇到的问题是,我没有使用webpack或任何构建系统(使用tsconfig)来创建别名。

我已经尝试使用模板:‘’,但它仍然出错。当我使用render/createElement函数时,我似乎不能添加到我自己的html文件/模板中,因为它似乎只想创建一个新元素,而不是注入一个模板。

错误:'Vue warn:您正在使用模板编译器不可用的Vue的仅运行时版本。请将模板预编译为呈现函数,或使用编译器包含的版本。

组件:

代码语言:javascript
运行
AI代码解释
复制
import {
    debounce
}
from 'npmPackage/debounce';
import Vue from 'vue';
import Component from 'vue-class-component';
import './navigation-bar.styles.less';
import {
    menuItemList,
    secondaryButton
}
from './types';

 @ Component({
    props: ['panels', 'secondaryButton'],
    // render: (createElement) => { return createElement('div', require('./navigation-bar.html')); }
    template: require('./navigation-bar.html')
})

export class NavigationBar extends Vue {
    public menuActive: boolean = false;
    public menuClass: string = '';
    public panels: menuItemList;
    public secondaryButton: secondaryButton;

    private animateMenu: () => void = debounce(this.toggleMenuClass, 300, true);

    public toggleMenu(): void {
        this.animateMenu();
    }

    private toggleMenuClass(): void {
        this.menuActive = !this.menuActive;
        this.menuClass = this.menuActive ? 'show' : 'hide';
    }
}

Vue.component('navigation-bar', NavigationBar);

单元测试:

代码语言:javascript
运行
AI代码解释
复制
import {
    expect
}
from 'chai';
import {
    spy,
    stub
}
from 'sinon';
import Vue from 'vue';
import {
    NavigationBar
}
from '../src/navigation-bar.component'
import {
    IMenuItem
}
from "../src/types";

describe('Navigation bar component', () => {
    let panels: Array < IMenuItem > ;
    let navigationBar: NavigationBar;

    beforeEach(() => {
        panels = [{
                label: 'my-account',
                action: function () {}
            }, {
                label: 'home',
                action: stub
            }
        ];
        navigationBar = new NavigationBar();
        navigationBar.$mount();
    });

    describe('Checks that only one action is being called per panel', () => {
        it('checks actions are called', () => {
            console.log(navigationBar.$el);
            navigationBar.panels = panels;
            const menuItem = navigationBar.$el.querySelectorAll('.menu-item');
            menuItem.length.should.equal(panels.length);

            const menuItem1 = menuItem[0];
            menuItem1.should.be.instanceOf(HTMLElement);
            const html = menuItem1 as HTMLElement;
            html.click();
            panels[0].action.should.have.been.calledOnce;
            panels[1].action.should.not.have.been.called;
        });
    });
});
EN

回答 1

Stack Overflow用户

发布于 2017-09-27 11:16:40

获取Vue的CDN版本的副本并导入该版本,而不是npm Vue。

或者你也可以使用import Vue from vue/dist/vue.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46446372

复制
相关文章
为什么ConcurrentHashMap不允许插入null值?
在 Java 语言中,ConcurrentHashMap 和 Hashtable 这些线程安全的集合是不允许 key 或 value 插入 null 值的,而 HashMap 又允许 key 或 value 插入 null 值,这到底是为什么呢?
磊哥
2022/05/09
1.9K0
为什么ConcurrentHashMap不允许插入null值?
为什么ConcurrentHashMap不允许插入null值?
在Java语言中,给ConcurrentHashMap和Hashtable这些线程安全的集合中的Key或者Value插入 null(空) 值的会报空指针异常,但是单线程操作的HashMap又允许 Key 或者 Value 插入 null(空) 值。这到底是为什么呢?
Tom弹架构
2022/08/22
2.1K0
为什么ConcurrentHashMap不允许插入null值?
SystemVerilog(五)-文本值
System Verilog 扩展了 Verilog 的 教据类型 , 增强了指定文本值的方法。在介绍文本值之前我们先简单回忆一下HDL中的四个状态数据值。
碎碎思
2022/04/14
1.2K0
SystemVerilog(五)-文本值
1.1、文本插值
Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue 模板都是语法层面合法的 HTML,可以被符合规范的浏览器和 HTML 解析器解析。
张果
2022/11/12
8.9K0
1.1、文本插值
文本txt实现bat锁机代码(整蛊可用)
1、Net User 作用:添加或更改用户帐号或显示用户帐号信息。 命令格式:Net user [username [password | *] [options]] [/domain] 有关参数说明: ·键入不带参数的Net user查看计算机上的用户帐号列表 ·username添加、删除、更改或查看用户帐号名 ·password为用户帐号分配或更改密码 ·提示输入密码 2、Net Localgroup 作 用:添加、显示或更改本地组。 命令格式:Net localgroup groupname {/add [/comment:"text "] | /delete} [/domain] 有关参数说明:
HACK学习
2019/08/06
5.6K3
文本txt实现bat锁机代码(整蛊可用)
jQuery 文本属性值
​ jQuery的文本属性值常见操作有三种:html() / text() / val() ; 分别对应JS中的 innerHTML 、innerText 和 value 属性。
梨涡浅笑
2022/05/08
3.1K0
jQuery 文本属性值
jQuery的文本属性值常见操作有三种:html() / text() / val() ; 分别对应JS中的 innerHTML 、innerText 和 value 属性。
清出于兰
2020/10/26
1.8K0
jQuery 文本属性值
jQuery的文本属性值常见操作有三种:html() / text() / val() ; 分别对应JS中的 innerHTML 、innerText 和 value 属性。
星辰_大海
2020/10/09
2.6K0
jQuery 文本属性值
MyBatis通用mapper插入,更新null值问题
MyBatis通用mapper插入,更新null值问题 Mybatis通用Mapper updateByPrimarykey()和insert()方法报错,提示jdbctype错误。 Exception in thread “main” org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #6 with JdbcType OTHER . Try setting a different Jdb
用户1212940
2022/04/13
1.3K0
python在mysql中插入null空值
python在mysql中插入null空值 sql = “INSERT INTO MROdata (MmeUeS1apId) VALUES (%s)”%‘NULL’ %s没有引号,可以将“null”中null写进数据库,达到NULL值效果。
kirin
2020/12/03
8.4K0
将map按照值排序
值里面存放的是一个对象需要根据id排序 将相同的人放在一起 List<Map.Entry<String, CorrectRate>> list = new LinkedList<Map.Entry<String, CorrectRate>>(correctRateOm.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, CorrectRate>>() {
崔笑颜
2020/06/08
9360
将数组中空值字段赋默认值!
在上面代码中,首先判断传入的对象是否为数组,如果是数组则对其进行map()操作,否则将其转换成键值对数组并调用 Object.fromEntries() 方法生成一个新的对象。
执行上下文
2023/07/24
2970
将数组中空值字段赋默认值!
mysql将大数据插入表中方法
1 数据量不是很大,有几千行数据.先用notepad对数据进行编辑,结果如下 insert into `web4399_vote`.`frxz2_hlwjhj_code` (active_code) values('s001asdf87mo'), ('s001sfsdfy5e'), ('dfsdfc3euv'), ('s0sdfsd6k4j6z'), ('s00dfsdfk59'), (asdfnth'), ('s00asdf246l'), ('s001sdfsdf1h'); 然后,
闵开慧
2018/03/30
1.7K0
还分不清左值,右值,将亡值?看这里!
来源:https://www.cnblogs.com/zpcdbky/p/5275959.html
编程珠玑
2019/11/24
6.2K0
Excel: 数据取整函数(向上取整,向下取整)
文章背景:在进行数据处理时,有时需要对数据进行取整,以满足数据分析的要求。下面对Excel自带的一些取整函数进行介绍。
Exploring
2022/09/20
4.4K0
Excel: 数据取整函数(向上取整,向下取整)
为什么HashMap的key允许空值,而HashTable却不允许
HashMap在put的时候会调用hash()方法来计算key的hashcode值,可以从hash算法中看出当key==null时返回的值为0。因此key为null时,hash算法返回值为0,不会调用key的hashcode方法。
凌云Cloud
2020/10/30
1.8K0
为什么HashMap的key允许空值,而HashTable却不允许
Mybatis插入时返回自增id的值
1.先取出最大id值,在程序中加1 2.调用数据库api取得最大id值,然后插入 ...
4xx.me
2022/06/09
1.9K0
Mybatis插入时返回自增id的值
数据分析EPHS(6)-使用Spark计算数列统计值
前两篇中咱们分别介绍了使用Excel、Python和Hive SQL计算统计值,这次咱们使用Spark SQL来计算统计值。
石晓文
2019/07/30
1.4K0
用MapReduce分析Hbase将结果插入mysql中
从HBASE读取清洗过的数据,写入到mysql的表中 NewInstallUserRunner.java 计算新增用户入口类 NewInstallUserRunner的所有属性方法 main方法:
Albert陈凯
2018/04/04
1.6K0
用MapReduce分析Hbase将结果插入mysql中
点击加载更多

相似问题

输入文本框不允许我插入值

112

无法将值NULL插入列‘;列不允许空值。插入失败。()

14

无法将值NULL插入'CompanyId‘列不允许空值。插入失败

30

如何将插入位置所在的整串插入到RichTextBox中?

21

无法将值NULL插入'DeletedDatabaseRecord‘列,.;列不允许空值。插入失败

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档