如何使用TypeScript绑定Vue过滤器?纯js相当简单,但是我遇到了将它转换为TypeScript的问题.
以下代码和编译错误如下:
app.ts
import * as Vue from 'vue'
...
import * as filters from './util/filters'
// register global utility filters.
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key]);
})
Run Code Online (Sandbox Code Playgroud)
UTIL/filters.ts
export function host (url: string) {
...
}
export function timeAgo (time: any) {
....
}
Run Code Online (Sandbox Code Playgroud)
编译错误
错误TS7017:元素隐式具有"任何"类型,因为类型"typeof ..."没有索引签名.
编译错误是为了
我正在尝试在我的Vue模板中绑定自定义属性值.我怎样才能做到这一点?
(编辑:以下代码实际上绑定正确.第三方库(基金会)正在干扰绑定.保留问题,因为它可能对其他人有用.
<template>
<span v-bind="{ 'aria-controls': inputControlId }"></span>
<input v-bind="{ 'id': inputControlId }">
</template>
<script lang="ts">
import Vue from 'vue';
import Component from 'vue-class-component';
@Component
export default class Slider extends Vue {
inputControlId = "TheBourneId";
}
}
</script>
Run Code Online (Sandbox Code Playgroud) 我有一个项目(我们称之为 FlatEarth),其中包含仅客户端、仅服务器和通用组件。我想创建一个允许仅从相关部分导入的 npm 包。
例如,仅客户端项目将能够执行以下操作:
import { FeCommon, FeClient } from 'FlatEarth'.
我面临的问题是,即使我只导入 FeClient 和 FeCommon 组件,FeServer 组件(请求承诺)也会在构建过程中导致错误(因为它们与客户端解决方案不兼容),因为它们仍在构建中。由 FlatEarth 的 index.ts 文件导入。
FlatEarth 的设置本质上是:
索引.ts
import * as FeCommonStatic from './FeCommon';
import * as FeServerStatic from './FeServer';
import * as FeClientStatic from './FeClient';
export { FeCommonStatic as FeCommon };
export { FeServerStatic as FeServer };
export { FeClientStatic as FeClient };
Run Code Online (Sandbox Code Playgroud)
FeCommon.ts
import * as stringStatic from './String';
import * as uriStatic from './Uri';
export { stringStatic as string }; …Run Code Online (Sandbox Code Playgroud)