Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Angularjs 敲除JS中的角度JS对象_Angularjs_Knockout.js - Fatal编程技术网

Angularjs 敲除JS中的角度JS对象

Angularjs 敲除JS中的角度JS对象,angularjs,knockout.js,Angularjs,Knockout.js,我想在knockout js中使用angular js对象,并将数据绑定到knockout上的视图 例如:我可以得到角度js对象 jQuery('#ng-app').data('$scope') 但这将返回所有范围变量。现在我想从这个对象中获取一个特定的对象,比如一个userDetails对象。因此,我可以使用以下工具在浏览器控制台中获取对象: jQuery('#ng-app').data('$scope').userDetails 我希望在我的knockout js viewmodel中

我想在knockout js中使用angular js对象,并将数据绑定到knockout上的视图

例如:我可以得到角度js对象

jQuery('#ng-app').data('$scope') 
但这将返回所有范围变量。现在我想从这个对象中获取一个特定的对象,比如一个userDetails对象。因此,我可以使用以下工具在浏览器控制台中获取对象:

jQuery('#ng-app').data('$scope').userDetails

我希望在我的knockout js viewmodel中使用相同的值,然后将这些值绑定到我的视图字段

尽管Angular JS和KO都实现了MVVM,但它们的实现方式不同

特别是在KO中,为了能够进行“实时绑定”,您需要可以观察到属性。即,如果原始对象是这样的:

var vm = {
  name: 'John'
}
var vm = {
  name: ko.observable('John')
};
可以将其绑定到KO视图。但是,执行此操作后,如果更改name的值,则不会刷新视图(并且更改视图中的值不会更新viewmodel中的属性)。如果需要执行此操作,则必须具有如下对象:

var vm = {
  name: 'John'
}
var vm = {
  name: ko.observable('John')
};

将常规JS对象转换为具有可观察属性的对象的最快方法是使用插件。

您最好只选择一个框架,而不是笨拙地尝试让它们一起工作。但如果必须的话,
userDetails
只是一个JS对象。你可以将其映射到一个淘汰视图模型。使用该插件。文档中包含大量示例,你可以随时在互联网上搜索更多。感谢@MattBurland,我在互联网上搜索了很多次后如何发布这个问题。那么你被困在哪一部分?使用映射插件就像
var myVM=ko.mapping.fromJS(数据)一样简单什么部分导致您出现问题?因为你目前没有足够的细节来回答这个问题。