Typescript Kendo ui mobile MVVM事件在显示之前未触发
我正在尝试在typescript中实现MVVM事件绑定。以下内容在javascript中适用于我:- (单击事件除外??) 我已经弄明白了 对于Typescript,我不知道如何从HTML中引用viewModelConfig变量(MVVM数据模型=“viewModelConfig”需要)。所以求助于手动绑定(使用kendo.bind($(“#config”)、viewModelConfig)——这不起作用 但是如果我在启动函数外部内联delcare viewModelConfig,HTML可以看到变量Typescript Kendo ui mobile MVVM事件在显示之前未触发,mobile,mvvm,kendo-ui,typescript,Mobile,Mvvm,Kendo Ui,Typescript,我正在尝试在typescript中实现MVVM事件绑定。以下内容在javascript中适用于我:- (单击事件除外??) 我已经弄明白了 对于Typescript,我不知道如何从HTML中引用viewModelConfig变量(MVVM数据模型=“viewModelConfig”需要)。所以求助于手动绑定(使用kendo.bind($(“#config”)、viewModelConfig)——这不起作用 但是如果我在启动函数外部内联delcare viewModelConfig,HTML可以看
declare var viewModelConfig: any;
require(['jquery', 'kendo', 'telerikReportViewer', 'app/AppMain'], ($, kendo, TRV, AppMain) => {
var app = new kendo.mobile.Application(document.body,
{
transition: 'overlay:up',
init: function () {
viewModelConfig = new kendo.observable({
onClick: function (e) {
console.log("viewModelConfig:onClick");
},
onViewInit: function (e) {
console.log("viewModelConfig:onViewInit");
},
onViewShow: function (event) {
console.log("viewModelConfig:onViewShow");
},
onBeforeShow: function (event) {
console.log("viewModelConfig:onBeforeShow");
}
});
etc.
它现在起作用了
<div id="config" data-role="view" data-layout="shared-layout" data-title="Config"
data-bind="click: onClick, beforeShow: onBeforeShow, init: onViewInit, events: { show: onViewShow }">
<h2>Configuration</h2>
</div>
require(['jquery', 'kendo', 'telerikReportViewer', 'app/AppMain'], ($, kendo, TRV, AppMain) => {
var viewModelConfig:any;
window.onerror = function (event: Event, source: string, fileno: number, columnNumber: number) {
alert("Error:" + event.type + " source:" + source);
}
var app = new kendo.mobile.Application(document.body,
{
icon: "Content/images/prpsolutions_logo.png",
platform: 'ios',
hideAddressBar: true,
initial: "home",
transition: 'overlay:up',
init: function () {
viewModelConfig = kendo.observable({
onClick: function (e) {
console.log("viewModelConfig:onClick");
},
onViewInit: function (e) {
console.log("viewModelConfig:onViewInit");
},
onViewShow: function (event) {
console.log("viewModelConfig:onViewShow");
},
onBeforeShow: function (event) {
console.log("viewModelConfig:onBeforeShow");
}
});
kendo.bind($("#config"), viewModelConfig, kendo.mobile.ui.View);
}
});
});
declare var viewModelConfig: any;
require(['jquery', 'kendo', 'telerikReportViewer', 'app/AppMain'], ($, kendo, TRV, AppMain) => {
var app = new kendo.mobile.Application(document.body,
{
transition: 'overlay:up',
init: function () {
viewModelConfig = new kendo.observable({
onClick: function (e) {
console.log("viewModelConfig:onClick");
},
onViewInit: function (e) {
console.log("viewModelConfig:onViewInit");
},
onViewShow: function (event) {
console.log("viewModelConfig:onViewShow");
},
onBeforeShow: function (event) {
console.log("viewModelConfig:onBeforeShow");
}
});
etc.