我想使用带有淘汰赛的安全绑定。为此我使用敲除安全绑定.js https://github.com/brianmhunt/knockout-secure-binding.
谁能解释一下为什么下面的代码不起作用?
它会抛出一个错误`
未捕获#淘汰-安全-绑定.js:74`
行后ko.applyBindings(new viewModel());
<html>
<head>
<title></title>
<script src="scripts/knockout-3.0.0-min.js"></script>
<script src="knockout-secure-binding-master/dist/knockout-secure-binding.js"></script>
</head>
<body>
<button type="button" data-sbind="sbtnClick">button</button>
<script>
var bindings = {
sbtnClick: function () {
return {click: this.btnClick};
}
};
var viewModel = function () {
this.btnClick = function () {
alert('clicked');
};
};
ko.bindingProvider.instance = new ko.secureBindingsProvider(bindings);
ko.applyBindings(new viewModel());
</script>
</body>
</html>
您仍然需要写出绑定处理程序的名称click
:
<button type="button" data-sbind="click: btnClick">button</button>
你不需要这整个bindings
对象与sbtnClick
, 写吧:
var viewModel = function () {
this.btnClick = function () {
alert('clicked');
};
};
ko.bindingProvider.instance = new ko.secureBindingsProvider();
ko.applyBindings(new viewModel());
Demo JSFiddle http://jsfiddle.net/XpM9K/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)