私は理解できない問題があります。 下に自分のコードをコピーしました。 問題は、数値をクリックして$ scope.screen.operationを更新する必要がありますが、更新していないことです。私は間違った方法でデータのバインディングを知っていますか?Angularjsのデータバインディングがコントローラで更新されない
(function() {
var app = angular.module('electronApp', []);
app.controller('MainCtrl', function ($scope) {
$scope.numbers = {
one: '',
two: ''
};
$scope.operation = '';
$scope.screen = {
operation: $scope.numbers.one +' '+ $scope.operation +' '+ $scope.numbers.two,
result: ''
};
$scope.number = function (number) {
if($scope.operation == '') {
$scope.numbers.one = '' + $scope.numbers.one + number;
}
console.log($scope.screen.operation);
}
});
})();
.screen{
border: 1px solid #bbb;
background-color: #fafafa;
border-radius: 2px;
height: 200px;
margin-top: 15px;
padding: 15px;
position: relative;
}
.screen .operation-list{
font-size: 16px;
font-weight: bold;
}
.screen .result{
font-size: 24px;
font-weight: bold;
position: absolute;
right: 15px;
bottom: 15px;
left: 15px;
text-align: right;
}
.button-box{
margin-top: 5px;
}
.button-box .row div{
padding: 5px 5px;
}
.button-box .row div:first-child{
padding-left: 0;
}
.button-box .row div:last-child{
padding-right: 0;
}
.button-box .row div button{
width: 100%;
height: 40px;
font-size: 16px;
font-weight: bold;
padding: 0;
}
<!DOCTYPE html>
<html ng-app="electronApp">
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
\t
\t <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
</head>
<body>
\t <div class="container-fluid" ng-controller="MainCtrl">
<div class="screen col-xs-12">
<div class="operation-list" ng-bind="screen.operation"></div>
<div class="result">
<span>{{screen.result}}</span>
</div>
</div>
<div class="col-xs-12 button-box">
<div class="row">
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(1)">1</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(2)">2</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(3)">3</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="operation">+</button></div>
</div>
<div class="row">
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(4)">4</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(5)">5</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(6)">6</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="operation">-</button></div>
</div>
<div class="row">
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(7)">7</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(8)">8</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(9)">9</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="operation">*</button></div>
</div>
<div class="row">
<div class="col-xs-3"><button class="btn btn-default" button-type="number" ng-click="number(0)">0</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="clear">Tmzl</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="backspace">Sil</button></div>
<div class="col-xs-3"><button class="btn btn-default" button-type="operation">/</button></div>
</div>
</div>
\t </div>
\t
</body>
</html>
あなたは正しいですが、単にエラーを指摘する代わりに、提案された解決策を提示することができますか? – Lex
可能な解決策を追加しました。テストされていませんが、そのようなものです。 – Peheje
答えがありがとう、あなたは良い解決策を書いて、私は@ Quiriacusの答えから私の問題のポイントを得ました。 –