如何正确应用KO绑定以下示例
How to properly apply KO binding the following example
Basicaly,我在KO中有一个viewModel,它有2个值的数组,当单击<a>
元素时(当单击第一个li>a "Val1"
、<main class="stl1">...
等等),我需要更改元素(main
)的css类道具。奇怪的是,<main>
:什么也没发生
<script>
var mainViewModel = function () {
var self = this;
self.classArr = ['stl1', 'stl2'];
self.cssUsed = ko.observable(0);
self.getClass = function ( data, event ) {
var dat = event.target.value;
self.cssUsed = self.classArr[dat];
console.log( dat + ' : ' + self.cssUsed );
}
}
ko.applyBindings( new mainViewModel() );
</script>
<div class='page'>
<header>
<nav>
<ul >
<li><a href="#" data-bind="value: 0, click: getClass">Val1</a></li>
<li><a href="#" data-bind="value: 1, click: getClass">Val2</a></li>
</ul>
</nav>
</header>
<div id='maincontent'>
<main data-bind="css: cssUsed" >
<div class="center"></div>
</main>
</div>
</div>
你几乎做对了。问题是您以错误的方式分配了值。代替
self.cssUsed = self.classArr[dat];
尝试
self.cssUsed(self.classArr[dat]);
在这里查看
相关文章:
- 绑定到 x 可编辑的成功函数未使用正确的参数执行
- AngularJS 1.5.x服务未正确绑定,并且未在控制器中更新
- Ember.js:将Em.$.getJSON转换为promise并将响应绑定到控制器上下文的正确方法
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- 嵌套的foreach绑定未正确显示
- 敲除:可观察数组没有被正确绑定——只有1个结果显示,而api返回6
- 如何绑定到这个,这样我就可以在这个coffeescript中正确地调用React中的setState
- 无法获取正确的淘汰绑定上下文
- 为D3.js动画编写绑定的正确方法是什么
- 角度绑定未正确更新
- 与挖空框架的组合框绑定不正确
- 在骨干中使用手动ID绑定是否正确.js孩子到父母
- JavaScript setInterval 未正确绑定到正确的闭包
- 在Ember.js视图中刷新jQuery绑定的正确方法是什么
- Kendo Grid内部的jQuery.on()输入字段绑定不正确
- 如何在knockoutjsforeach绑定中正确使用haml模板
- 如果从存储的变量中调用jquery函数,则绑定不正确
- 自定义指令在ng-if中第二次绑定不正确
- jQuery模板绑定不正确
- 角度复选框绑定不正确