【问题标题】:Access all bound values访问所有绑定值
【发布时间】:2016-03-27 10:22:35
【问题描述】:

我有一个用 ASP.NET 编写的大项目需要修改。它使用 knockout.js 来绑定值:

$(document).ready(function () { 
    var model = new MyViewModel();
    ko.applyBindings(model);
});

然后,绑定完成:

<span data-bind="text: myText"></span>

我现在想访问所有绑定的值。不幸的是,我对这些框架不是很有经验。

console.log(model);

我得到了一个巨大的输出(摘录):

MyViewModel{settings: [...]}
TypeSeriesSubscription: c()
barClick: (e, bar)
cancelSetting: ()
chartClick: (value)
chartUser: c()
charts: c()
[...]

model.myText

我只收到undifined

如何访问myText 以便将其文本输出到控制台?

【问题讨论】:

  • 如果text 是一个可观察的使用model.text(),如果它是一个var 则使用model.text。还要将var model = new MyViewModel(); 放在document.ready 之外,以便在控制台中进行测试。
  • @Dandy:model.myText 我得到undefinedmodel.myText() 我得到model.myText is not a function
  • 显示MyViewModel的代码

标签: javascript c# asp.net knockout.js


【解决方案1】:

您将model 限定为仅存在于ready 函数内部。试试这个:

var model = new MyViewModel();
$(document).ready(function () { 
    ko.applyBindings(model);
});

那么你应该能够:

console.log(model.myText());

由于 KO 依赖于可观察的模式,您需要在任何属性后使用 () 以查看其当前值。

【讨论】:

    猜你喜欢
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    相关资源
    最近更新 更多