Data binding WinJS双向绑定返回未定义
我是window8开发的新手,我基本上是在尝试实现这个链接 我使用的视图模型如链接示例中的图8所示,但是我无法显示数据,它显示了未定义,但是如果我只给出数组的一个元素,我就能够绑定它 我的用户界面是Data binding WinJS双向绑定返回未定义,data-binding,winjs,Data Binding,Winjs,我是window8开发的新手,我基本上是在尝试实现这个链接 我使用的视图模型如链接示例中的图8所示,但是我无法显示数据,它显示了未定义,但是如果我只给出数组的一个元素,我就能够绑定它 我的用户界面是 <body> <section aria-label="Main content" role="main"> <!-- display each person --> <div id="nameLabel">Name<
<body>
<section aria-label="Main content" role="main">
<!-- display each person -->
<div id="nameLabel">Name</div>
<input id="name" readonly="true" type="text" data-win-bind="value: name" />
<div id="ageLabel">Age</div>
<input id="age" readonly="true" type="text" data-win-bind="value: age" />
<div id="colorLabel">Favorite Color</div>
<div id="color" data-win-bind="style.backgroundColor:favoriteColor"></div>
<div id="buttons">
<button id="previousButton"></button>
<button id="birthdayButton"></button>
<button id="nextButton"></button>
</div>
</section>
</body>
结果是:
请帮助我将UI与数据模型绑定。提前感谢。出现问题的原因是您用
WinJS.Binding
双重包装了person
。执行此操作时,需要将属性路径更改为:
data-win-bind="value: person.name"
创建viewModel
属性时,它创建了一个包含实际person
实例的新属性:
var viewModel = WinJS.Binding.as({ person: people[current+1] });
另外,请注意,WinJs中没有双向绑定 感谢您的回复,我可以看到列表中的第一项,但每当我单击“下一步”按钮时,它都不会显示列表中的第二项。你能帮我一下吗?你开始绑定第二个
人项,而不是代码中的第一个:person:people[current+1]
。我希望它是人:人[当前]
。这是一个零基数组。
var viewModel = WinJS.Binding.as({ person: people[current+1] });