0
基本的にボタンクリックはShowHide()
の機能をMyController
から呼び出し、$scope.IsVisible==false
の場合は値をコピーします。
しかし、ここでは、これは$scope
のformController
を指しています。 そして、console.logの出力はこれを証明しましたが、これは何を期待していますか?それはJavascriptプロトタイプのためでしょうか?
<div ng-app="MyApp" ng-controller="MyController">
<div ng-controller="formController">
<div ng-bind="broker.info"></div>
<div ng-show="IsVisible">Some content to be hide</div>
<button ng-click="ShowHide()">ok</button>
</div>
</div>
スクリプト:
var app = angular.module('MyApp', []);
var old = <?=json_encode($broker)?>;
app.controller('formController',function ($scope) {
$scope.broker = angular.copy(old);
});
app.controller('MyController', function ($scope) {
$scope.IsVisible = false;
$scope.ShowHide = function() {
//If DIV is visible it will be hidden and vice versa.
$scope.IsVisible = $scope.IsVisible ? false : true;
if($scope.IsVisible==false) {
this.broker = angular.copy(old);
console.log(this);
console.log($scope);
}
}
});
スクリーンショット:あなたの質問の
[AngularJSでスコーププロトタイプ/原型継承のニュアンスは何ですか?](http://stackoverflow.com/questions/14049480/what-are-the-nuances-of-scope-prototypalの可能性のある重複-protypypical-in-angularjs) – Claies