这是一个非常基本的问题,但是我如何从 AngularJS 工厂返回多个属性?我意识到在我的代码中,只有第一个返回会运行,并且只有消息会传递到其他作用域。有什么办法可以解决这个问题吗?
app.js
practice.factory('Data', function(){
return {message: "I'm data from a service"};
return {number: "twenty"};
});
practice.controller('FactoryOneController',['$scope','Data', function($scope, Data){
$scope.data = Data;
}]);
practice.controller('FactorySecondController',['$scope','Data', function($scope, Data){
$scope.data = Data;
}]);
<div ng-controller="FactoryOneController">
<input ng-model="data.message">
{{data.message}}
<input ng-model="data.number">
{{data.number}}
</div>
<div ng-controller="FactoryOneController">
<input ng-model="data.message">
{{data.message}}
<input ng-model="data.number">
{{data.number}}
</div>
index.html
最佳答案
组合这些东西并返回具有多个键的单个对象!
所以,不要这样做:
practice.factory('Data', function(){
return {message: "I'm data from a service"};
return {number: "twenty"};
});
...执行此操作:
practice.factory('Data', function(){
return {message: "I'm data from a service", number: "twenty"};
});
然后,稍后在您的 Controller 中,您可以执行以下操作:
$scope.data = Data;
doSomething($scope.data.message);
doSomething($scope.data.number);
关于javascript - 如何从 AngularJS 工厂获取 "return twice"(两个属性)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25839066/