I am working on MVVM Durandal SPA application with VS2012. Now I migrated to VS2015 with Typescript 1.8.4. I am working with typescript modules. All Typescript issues resolved. But Where ever I passed bindings with knockout all are showing as undefined in console.
Reason: Due to return statement at end of view model(ts Module) build error occurring . so, JavaScript is not generating for return statement.
Build error was "Return statement can only be used within a function body".
If it 's generate JavaScript then my problem will fix.
Sample TS Code for ViewModal:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
return Greeter;
Generated JS Due to Build Error:
define(["require", "exports"], function (require, exports) {
"use strict";
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
return Greeter;
}());
});
define(["require", "exports"], function (require, exports) {
"use strict";
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
return Greeter;
}());
exports.Greeter = Greeter;
return Greeter;
});
For more details please see attached image.
return Greeter;
export = Greeter;
var instance = new Greeter();
export = instance;