好的,我一直想知道我正在尝试组合的 Knockout Web 应用程序做错了什么。
这是使用我的 MVC PHP 接口排除 AJAX 服务的代码。
my.js = 我用于我的应用程序的命名空间声明 data.js = 包含用于将数据加载到视图中的静态数据 (leftPanel.php) appViewModel.js = 调用从 PHP 服务器加载数据的函数并声明视图模型。
所以,基本上,这就是问题所在:
我有一个 AJAX 服务,它可以工作并获取 account_JSON.txt 和 currency_JSON.txt 中显示的数据。JSON 格式良好,在文本文件中,我只添加了返回以使其易于阅读。
在 appViewModel.js 中,“getCurrencies”和“getAccounts”方法被调用并正常工作:遍历 JSON 数据并将其放入指定的数组中。
然后,在 appViewModel.js 结束时,我每一步都登录 Chrome 控制台,因为我不知道为什么“my.app.data.currencies”和“my.app.data.accounts”在它们不是(screenshot_chrome_console.png)。
这些数组是在 ko.applyBiddings 之前填充的,所以如果我要使用“my.app.data.currencies”和“my.app.data.accounts”来填充视图,它应该可以工作,但不能。只有静态数据“my.app.leftPanel.currencies.list”和“my.app.leftPanel.accounts.list”有效。
我错过了什么?实在看不下去了!
非常感谢你的帮助 :)