【发布时间】:2017-12-04 14:16:10
【问题描述】:
我正在使用带有 TypeScript 视图模型和 WebPack 的 knockoutJs 来捆绑所有内容。
在我开始使用模块和 webpack 之前,我能够编写如下内容:
<p data-bind="text: moment().format('L')">
但知道我收到此错误:消息:未定义时刻
如果我在视图模型中使用矩(即:通过将其分配给变量),它会起作用。
viewmodel.ts:
import * as ko from 'knockout';
import * as moment from 'moment';
class TestViewModel {
test = moment().format('L');
}
ko.applyBindings(new TestViewModel(), document.getElementById('mainbinding'));
查看(cshtml部分页面)
<pre data-bind="text: test"></pre> <!-- this works -->
<pre data-bind="text:moment().format('L')"></pre> <!-- this does not work-->
我错过了什么?
【问题讨论】:
-
这可能无法完全解决您的问题,但它应该是
import moment from 'moment',否则moment将是一个对象而不是一个函数。我没有同时使用 webpack 和淘汰赛,所以我不确定是否也应该改变。不幸的是,我不确定为什么moment未定义。
标签: typescript knockout.js webpack momentjs