javascript - 如何从 AngularJS 工厂获取 "return twice"(两个属性)?

标签 javascript angularjs

这是一个非常基本的问题,但是我如何从 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/

相关文章:

javascript - google chart a.S 不是函数

javascript - Azure服务总线: Can not receive messages from queue

javascript - 如何使用angularjs构建交互式滚动登陆页面?

javascript - AngularJS - 将范围从父级到子级隔离?

javascript - Angular.js - 重定向不起作用

javascript - 为网页添加内联搜索功能

javascript - 垂直居中高度未知的div

javascript - 如何更改 AMP HTML 中的当前网址?

javascript - Angular JS ng-repeat 在一个文本区域元素中

javascript - AngularJS:for循环和嵌套if