アプリの1つでRevealingModuleパターンを使用していますが、オブジェクトでinitメソッドが呼び出された後、文字列変数の値を返すのに問題があります。目標は、stringVarの値を設定し、それをUIから取得することです。arrayVarは機能します。
ありがとう、クリス
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
var viewModel = null;
$(document).ready(function () {
viewModel = new ViewModel();
viewModel.init();
// writes "object1" to ul
$("#log").append("<li>" + viewModel.arrayVar[0] + "</li>");
// writes "" to ul
$("#log").append("<li>" + viewModel.stringVar + "</li>");
});
ViewModel = (function () {
var
arrayVar = new Array(),
stringVar = '',
init = function () {
// load data from external source
arrayVar.push("object1");
arrayVar.push("object2");
stringVar = "string value 1";
};
return {
arrayVar: arrayVar,
stringVar: stringVar,
init: init
};
});
</script>