Javascript 我可以在敲除时调用函数outside viewmodel吗?
假设我想在一个数据绑定上调用我的纯javascript函数。有可能吗? 我试过:-Javascript 我可以在敲除时调用函数outside viewmodel吗?,javascript,knockout.js,jsfiddle,Javascript,Knockout.js,Jsfiddle,假设我想在一个数据绑定上调用我的纯javascript函数。有可能吗? 我试过:- <span data-bind = "click : outsideFn() ">hi</span> <span data-bind=" click : function() { outsideFn() } ">hi</span? hi 您好是的,可以在数据绑定中调用普通javascript函数。在你的项目中尝试一下,它正在发挥作用。JSFIDLE脚本中可能存在一些问
<span data-bind = "click : outsideFn() ">hi</span>
<span data-bind=" click : function() { outsideFn() } ">hi</span?
hi
您好是的,可以在数据绑定中调用普通javascript函数。在你的项目中尝试一下,它正在发挥作用。JSFIDLE脚本中可能存在一些问题。是的,您可以。
请注意对于点击绑定:
您可以引用任何JavaScript函数-它不必是视图模型上的函数。您可以通过编写click:someObject.someFunction来引用任何对象上的函数
工作示例:
HTML
Javascript
var outsideFn = function () {
alert("outside function");
};
var vm = {
"txt": ko.observable("some text")
};
ko.applyBindings(vm);
你在JSFIDLE之外试过这个吗?我稍微调整了一下,让它开始工作了。看起来只是脚本加载问题。我只在JSFIDLE中尝试过,你是对的,它确实有效。将我的javascript代码放在body元素的末尾,并在头部加载knockout库,这样做是成功的。谢谢。这就是导致我的脚本失败的原因。我尝试使用JSFIDLE,而不是创建实际的文件。正如@bluetoft所提到的,要在jsfiddle中工作,必须在主体中加载knockout。谢谢你的帮助。