有没有一种方法可以像这样在数据绑定上调用JavaScript函数:
<span id="lblSomePropVal" data-bind="text: MySomeFunction(SomeProperty())" ></span>
我尝试做的是用我的视图模型的SomeProperty值调用MySomeFunction。我的SomeFunction将根据传递的值返回一些文本,这些文本将显示在跨度lblSomePropVal中。
我尝试了我在示例中编写的方法,但它抛出了绑定错误。
我是不是漏掉了什么,或者有没有其他方法可以做到这点?
这是我得到的错误:
Microsoft JScript runtime error: Unable to parse bindings.
Message: [object Error];
Bindings value: text: MySomeFunction(SomeProperty())
发布于 2012-09-09 23:11:50
我在尝试计算表格单元格条目时遇到了类似的问题。对我来说起作用的是在我的数据模型中包含'MySomeFunction‘,然后将我的表单元格数据绑定为:
<td data-bind="text: $root.MySomeFunction(SomeProperty)"></td>
发布于 2012-03-03 00:38:46
我自己也在看教程,但我认为你必须设置一个属性并使用ko.computed来赋予它的值(来自教程):
function AppViewModel() {
this.firstName = ko.observable("Bert");
this.lastName = ko.observable("Bertington");
this.fullName = ko.computed(function(){
return this.firstName() + " " + this.lastName();
},this);
}
然后你可以拥有:
Full name: <strong data-bind="text: fullName"></strong>
发布于 2016-01-06 04:35:42
我已经通过使用上下文成功地做到了这一点。如果你需要完整的代码,我可以发给你。
<h2 class="text" data-bind="html: currentProgram($context)"></h2>
function currentProgram(context){
var title = '<font size="1">' + context.$data.name + '</font>';
return title;
}
您还需要设置此
$.ajaxSetup({
async: false
});
https://stackoverflow.com/questions/9536856
复制相似问题