2016-05-24 22 views
0

ng-showおよびng-hideが正しく動作していません。私のコントローラーで私は持っている $scope.isHide=true;それは働いている。しかし、$scopeは、ネストされた関数内の値を変更すると更新されません。次のようにコードの記述が、私はあなたがここに欠場どう思いng-show、ng-hideが動作していません。

$scope.isHide=true //It works 

    $scope.productdetails = function (size,selectedproduct) 
    { 
     var modalInstance = $uibModal.open({ 
     animation: $scope.animationsEnabled, 
     templateUrl: '/Selection_Routing/Selection_Product/ProductDetails.html', 
     controller: function ($scope, $uibModalInstance, product) { 
      $scope.product = product; 

      $scope.buy = function (path) { 
       $uibModalInstance.close($scope.product); 
       $location.path(path); 
       $scope.isHide= false; // Not working 
      }; 

     },    
    }); 
}; 
+0

$ scope? –

+0

ええ、このようにしてみました。 $ scope.isHide = false; $ scope。$ apply()。動作しません。 – Rubel

+0

$ location.path(path)で何が起こっていますか?ルート変更で$ scopeのコンテキストを失うようです。 – RamblinRose

答えて

0

があなたのモーダルに現在の$スコープを渡すことで、

次のことを試してください:たぶん

$scope.isHide=true; 

$scope.productdetails = function (size,selectedproduct) 
{ 
    var modalInstance = $uibModal.open({ 
    animation: $scope.animationsEnabled, 
    templateUrl: '/Selection_Routing/Selection_Product/ProductDetails.html', 
    scope: $scope, //passed current scope to the modal 
    controller: function ($scope, $uibModalInstance, product) { 
     $scope.product = product; 

     $scope.buy = function (path) { 
      $uibModalInstance.close($scope.product); 
      $location.path(path); 
      $scope.isHide= false; 
     }; 

    },    
}); 
}; 
+0

いいえ、まだ動作しません。 – Rubel

0

バインドさプロパティの場合代わりにプリミティブのオブジェクトであるオブジェクトです

$scope.isHide= {value:true}; 

$scope.productdetails = function (size,selectedproduct) 
{ 
    var modalInstance = $uibModal.open({ 
    animation: $scope.animationsEnabled, 
    templateUrl: '/Selection_Routing/Selection_Product/ProductDetails.html', 
    scope: $scope, //passed current scope to the modal 
    controller: function ($scope, $uibModalInstance, product) { 
     $scope.product = product; 

     $scope.buy = function (path) { 
      $uibModalInstance.close($scope.product); 
      $location.path(path); 
      $scope.isHide.value= false; 
     }; 

    },    
}); 
}; 
関連する問題