订阅不适用于淘汰模型作为功能

Posted

技术标签:

【中文标题】订阅不适用于淘汰模型作为功能【英文标题】:Subscribe doesn't work with Knockout Model as function 【发布时间】:2013-03-28 03:12:30 【问题描述】:

我想我在这里的基础知识方面遇到了困难。 代码:

var VehicleSearchViewModel = function() 

  this.VehicleVariantId = ko.observable(0);

  this.VehicleVariantId.subscribe(function (id) 
      console.log(id);
  );
;

从这个函数之外,我做了以下事情:

VehicleSearchViewModel.VehicleVariantId = 777;

...和console.log 不会触发。尽管如果我在控制台中输入VehicleSearchViewModel.VehicleVariantId,我可以看到它已更新为新值。这样做的正确方法是什么?

【问题讨论】:

你实际上在哪里绑定这个?我怀疑您缺少 new 关键字 【参考方案1】:

Knockout observables 是函数。您需要通过将新值作为参数传递来设置它们。

VehicleSearchViewModel.VehicleVariantId(777);

你真的应该去the tutorials,你会有很多问题可以被他们回答。

【讨论】:

在你的小提琴 reset 函数需要从另一个 javascript 类调用来复制我的要求 某事like this?如果不是,请用小提琴演示您的问题,不清楚。 嗨,它更像是这样的:jsfiddle.net/X7ZuY/13 但它有效。问题是我没有像你一样使用 viewModel 的 instance

以上是关于订阅不适用于淘汰模型作为功能的主要内容,如果未能解决你的问题,请参考以下文章

淘汰赛视图模型映射停止订阅触发

Paypal IPN 不适用于订阅

中继订阅不适用于 react-native

Appsync 的 graphql 订阅不适用于 PHP5

Dapr 订阅者不适用于 C# 中的 Azure EventHub

Apollo 客户端订阅适用于 Playground,但不适用于 Expo 应用程序