搜尋

首頁  >  問答  >  主體

angular.js - angular 為什麼更新不了$scope裡面的變數

$("#label").on(
                "keydown",
                function(e) {
                    var $this = $(this)
                    if (e.keyCode == 13) {
                        var count = 1;
                        $("#labelShow span").each(function() {
                            ++count;
                        });
                        $(".count").val(count);
                        if (count > 5) {
                            return false;
                        }
                        $("#labelShow").append(
                                '<span class="label label-info">' + $this.val()
                                        + '</span>&nbsp;');
                        
                        $this.val('');
                    }
                });
                
                
                
                

想的就是上面的id=label的輸入框上回車了,就更新$scope.count的值,但是不知道為啥更新不了。 。

    var app = angular.module('myApp', [ 'ngAnimate' ]);
        app.controller('myCtrl', function($scope) {
            $scope.showPopupMsg = false;
            $scope.count = 0;
            $scope.$watch('count', function(newValue, oldValue){
                if($scope.count > 5) {
                    $scope.showPopupMsg = true;
                }else {
                    $scope.showPopupMsg = false;
                }
            },true);
        });
        
        app.directive('showDirective', function(){
            return {
                restrict: "E",
                scope:{
                    count:"="
                },
                template:"<input type=\"hidden\" class=\"count\" ng-model=\"count\">",
                link:function(scope, element, attrs){
                    element.bind('change', function(){
                        scope.$apply(function(){
                            scope.count++;
                        });
                    });
                }
                };
        });
大家讲道理大家讲道理2744 天前481

全部回覆(1)我來回復

  • 阿神

    阿神2017-05-15 17:10:10

    在controller裡面可以監聽回車事件,為什麼要用Jq去做,這樣一定不能改變count的值啊

    回覆
    0
  • 取消回覆