angular.js - Tugasan yang ditulis oleh sudut di bawah perkhidmatan tidak boleh dipantau pada $skop pengawal?
天蓬老师
天蓬老师 2017-05-15 16:51:05
0
2
650

Sebagai contoh, memberikan objek tidak boleh terikat dua hala, tetapi memberikan rentetan atau sesuatu boleh dipantau. Bagaimana jika saya perlu memberikan nilai kepada objek supaya ia boleh diikat dalam dua arah (Saya katakan bahawa nilai yang diberikan selepas mengklik butang tidak boleh terikat)

<body ng-app="app">

    <p ng-controller="loginCtrl">
        <pre>{{info}}</pre>
        <button ng-click="setvalue()">aaaa</button>
    </p>
    <p ng-controller="loginCtrl">{{info.isIn}}</p>
    <script type="text/javascript">
    var app = angular.module('app', []);

    app.factory('login', ['$timeout', function($timeout){
        var ret = {}

        ret.info = {
            isIn:false
        }
        //如果这里赋值成这样
        var dd = {
            isIn:'aaaaa'
        }
        $timeout(function() {
            ret.info.isIn = true;
        }, 1000);
        ret.setvalue = function(){
            //这里的修改就无法绑定,这事为什么
            ret.info = dd
            //ret.info.isIn=dd.Isin  //这样写就可以
        }
        return ret;
    }]);

    app.controller('loginCtrl', ['$scope', 'login', function($scope, login){

        $scope.info = login.info;
        $scope.setvalue = function(){
            login.setvalue('dddd')
        }
    }])
    </script>
</body>

Oleh kerana data pada pelayan adalah objek jsonp, terdapat banyak yang diturunkan.
Tolong bantu saya~~, kod di atas boleh dijalankan dengan mengimport sudut, tolong bantu saya membetulkannya

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(2)
给我你的怀抱
<p ng-controller="loginCtrl">
    <pre>{{login.info}}</pre>
    <button ng-click="setvalue()">aaaa</button>
</p>

app.controller('loginCtrl', ['$scope', 'login', function($scope, login){

        $scope.login= login;
        $scope.setvalue = function(){
            login.setvalue('dddd')
        }
    }])
仅有的幸福

Ini melibatkan pengetahuan asas tentang js dan tiada kaitan dengan sudut. Contoh mudah:

jsvar ret = {};
ret.info = {isIn:false};
var $scope = {};
$scope.info = ret.info;

//这里修改
ret.info = {isIn:true,xx:'xx'};
console.log(ret.info, $scope.info);// 结果是:Object {isIn: true, xx: "xx"} Object {isIn: false}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan