我在我的一个应用程序中使用了 Revealing Module 模式,但在对象上调用 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>