Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用knockout访问模型之外的其他javascript中的可观察对象?_Javascript_Jquery_Knockout.js - Fatal编程技术网

使用knockout访问模型之外的其他javascript中的可观察对象?

使用knockout访问模型之外的其他javascript中的可观察对象?,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,所以我有一个这样的视图模型: var viewModel = function() { var self = this; this.chartSeries = ko.observableArray(['All Series']); } ko.applyBindings(new viewModel()); $(function (){ //I want to access it here } 我如何做到这一点 当我尝试viewModel().chartSeries,viewM

所以我有一个这样的视图模型:

var viewModel = function() {
    var self = this;
    this.chartSeries = ko.observableArray(['All Series']);
}

ko.applyBindings(new viewModel());

$(function (){
//I want to access it here
}
我如何做到这一点


当我尝试
viewModel().chartSeries
viewModel.chartSeries
viewModel.chartSeries()
等时,我会遇到未定义的错误

由于范围中没有视图模型的实例,因此出现未定义的错误。最简单的方法是:

var vm = new viewModel();
ko.applyBindings(vm);

$(function (){
  // do stuff with vm
  vm.chartSeries.push('Series A');
}

由于范围中没有视图模型的实例,因此会出现未定义的错误。最简单的方法是:

var vm = new viewModel();
ko.applyBindings(vm);

$(function (){
  // do stuff with vm
  vm.chartSeries.push('Series A');
}

嗨,约翰,我可以这样称呼它,但如果可观察到的变化,它不会反映在外部函数中。你知道我怎样才能让它订阅吗?你可以显式地订阅可观测数据,当可观测数据发生变化时,回调函数将被调用。请阅读此处的文档:。(搜索:显式订阅)你到底想做什么?嗨,John,我可以这样称呼它,但如果观察到的变化,它不会反映在外部函数中。你知道我怎样才能让它订阅吗?你可以显式地订阅可观测数据,当可观测数据发生变化时,回调函数将被调用。请阅读此处的文档:。(搜索:显式订阅)你到底想做什么?