angular.js - angularjs在两个controller之间传值,使用factory,为何不成功?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 17:00:22
0
1
670

希望通过服务在两个controller传值,代码如下:


但是并没有成功。。。


这单括号是什么鬼?


控制台只能得到setter 却没有getter
请问这是为什么

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(1)
曾经蜡笔没有小新

1. Cette simple parenthèse n’est rien, c’est un objet vide. Parce que vous définissez myData sur {} dans le service et que votre contrôleur getCtrl obtient cette valeur depuis le début, donc {} sera affiché sur la page.

2. Lorsque vous cliquez sur le bouton

, la valeur dans l'entrée a en fait été stockée dans add, mais votre myData ne l'obtiendra pas. Pour simplifier, vous pouvez le faire dans Définissez également un bouton sur lequel cliquer pour obtenir la valeur de getCtrl ; getCtrl3. Dans votre fonction myData, votre

est placé après l'instruction

Quelle que soit la façon dont vous l'exécutez, il n'y aura aucune sortie. _getter console.log..J'ai fait une légère modification selon votre code, vous pouvez y jeter un oeil. return

<p ng-app="myApp">
    <p ng-controller="inputCtrl">
        <input type="text" ng-model="value" />
        <button ng-click="setValue()">Add</button>
    </p>
    <p ng-controller="getCtrl">
        <p>{{ value }}</p>
        <button ng-click="getValue()">Get</button>
    </p>
</p>
angular.module('myApp', [])
    .factory('factory_getValue', function () {
        var myData = {};

        function _getter() {
            console.log(myData);
            return myData;
        }

        function _setter( a ) {
            myData = a;
        }

        return {
            getter: _getter,
            setter: _setter
        };
    })
    .controller('inputCtrl', function ( $scope, factory_getValue ) {
        $scope.setValue = function () {
            factory_getValue.setter($scope.value);
        }
    })
    .controller('getCtrl', function ( $scope, factory_getValue ) {
        $scope.getValue = function () {
            // 点击按钮获取myData的值
            $scope.value = factory_getValue.getter();
        }
    });
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!