在UI中更改时,Angular Scope变量不会在Controller中更新,反之亦然

时间:2014-12-16 14:52:09

标签: angularjs

我有控制器

angular.module("test")
        .controller("AnyCtrl", ["$scope", "$state","$timeout",  AnyCtrl]);

    function AnyCtrl($scope,$state,$timeout) {
        $scope.jumpOutNotes="test"; 
    }

以下是我的观点

<!-- start of  Jump out reason window  -->
<div class="col-md-8">
    <div class="panel panel-primary">

        <div class="panel-body">
            <div class="form-group row">
                <label class="col-md-3 control-label" for="jumpOutNotes">Notes</label>

                <div class="col-md-6">
                    <textarea class="form-control"
                              id="jumpOutNotes"
                              name="jumpOutNotes"
                              type="text"
                              rows="4"
                              cols="200"
                              placeholder="Notes"
                              ng-model="jumpOutNotes"></textarea>
                </div>
            </div>
            <div class="form-group row">
                <div class="col-md-2">
                    <button ng-click="saveJump(jumpOutNotes);" class="btn btn-primary btn-sm">Save Jump Out</button>
                </div>
            </div>
        </div>

    </div>
</div>

当我调用saveJump函数时,我重新启动ng-model变量的值,它没有反映在ui中,同样我尝试在该函数中访问该值,它显示了我的最后一个值

$scope.saveJump= function(jumpOutNotes){                         
             alert($scope.jumpOutNotes+ " : "+jumpOutNotes);
             $scope.jumpOutNotes="";
         }

函数作为参数传递的值是视图中的最新值,但alert中的范围值将始终保持为“test”。不确定导致此问题的原因。我正在使用UI-Router进行观看。

以下是我的stateprovider的代码

angular.module("test").config(["$stateProvider", "$urlRouterProvider", "$locationProvider", "$provide",
            function ($stateProvider, $urlRouterProvider, $locationProvider, $provide) {

                $stateProvider

                    .state("serviceMain", {
                        url: "/main",
                        templateUrl: "../resources/app/service.html",
                        controller: "AnyCtrl"
                        })
                    });

0 个答案:

没有答案