gpt4 book ai didi

javascript - 为动态变化的对象创建一个工厂/服务,并且可以将其传递给 Controller

转载 作者:行者123 更新时间:2023-12-03 11:54:02 24 4
gpt4 key购买 nike

我有一个通过 socket.io 更新的对象。

var my_dynobj;
socket.on('update dynobj', function(dynobj){
my_dynobj = dynobj;
});

我想将它作为工厂或可以作为依赖项注入(inject)的服务放在我的 Angular 应用程序中。

在那里,我想要将 my_object 附加到 $scope,以便它可以插入 HTML {{my_object}} 和每当它通过套接字在自己的工厂定义中更新时就会更新。 socket.on('更新对象', ...但我想不出办法来实现这一点。

angular.module('app', [])
.factory('dynobj_factory', [
function(){
var my_dynobj;
socket.on('update dynobj', function(dynobj){
my_dynobj = dynobj;
});

return {what?}

}])
.controller('ctrl', ['$scope', 'dynobj_factory',
function($scope, dynobj) {

$scope.my_dynobj = dynobj.what?

}])
<div>{{my_dynobj}}</div>

最佳答案

对于

return {/* what ? */}

您需要返回类似的内容;

return {dynamicObj: my_dynobj}

这样就可以了。对 my_dynobj 的任何更改都将反射(reflect)在其注入(inject)的所有指令、 Controller 和工厂中。

关于javascript - 为动态变化的对象创建一个工厂/服务,并且可以将其传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25682239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com