为angular js中的两个变量赋值
assign value to two variables in angular js
如果我的控制器中有这样的方法:
var app = angular.module('App', []);
$scope.calcoloBudget = function(davendere, offerta, budg){
davendere = parseInt(davendere);
offerta = parseInt(offerta);
return budg - (offerta - davendere);
};
我可以将此方法的结果分配给视图中的多个变量吗?
例如:
<div ng-if="selectedItem3.costo < off2"{{budget3=calcoloBudget(selectedItem3.costo, off2, budget2)}}</div>
而换个角度来看:
<div ng-model="budget2" ng-if="selectedItem2.costo < off1">Il tuo budget per questa busta dopo la seconda offerta è: <b>{{budget2=calcoloBudget(selectedItem2.costo, off1, budget1)}}</b> fantamilioni.</div>
我可以使用这两个变量吗?如果是,哪种方法最好?
您可以尝试 return 对象而不是字符串。看看 plnkr
中的这个例子
var app = angular.module('myApp', []);
app.controller('AppCtrl', function($scope) {
$scope.returnArray = function() {
return {
var1: 'variable one',
var2: 'variable two'
}
}
$scope.getData = function() {
var data = $scope.returnArray()
$scope.var1 = data.var1
$scope.var2 = data.var2
}
})
使用大括号将变量值绑定到控制器的范围。
例如:
在 javascript 控制器中
angular.module('App', [])
.controller('testController', [
'$scope',
function($scope){
$scope.testVariable = true;
$scope.testValue = 'Hello there';
]};
在你的HTML
<div ng-app="App" ng-controller="testController">
<h1 ng-if="testVariable">{{testValue}}</h1>
</div>
在您的示例中,表达式括号内有计算。虽然你可以在那些括号中进行简单的计算,如 2+2,但我们通常希望将表达式绑定到变量。
你正在尝试做的事情让位于 curlys 中的许多计算。
我建议对你的问题做这样的事情。
1) 在你的 javascript
angular.module('App', [])
.controller('testController', [
'$scope',
function($scope){
$scope.costOf = 0;
$scope.costOf2 = 0;
$scope.budget = 0;
$scope.calcBudget = function(){
$scope.budget = $scope.budget - ($scope.costOf - $scope.costOf2)
return;
}
]};
2) 在你的 html
<div ng-app="App" ng-controller="testController">
<input type="number" ng-model="costOf" ng-change="calcBudget()">
<input type="number" ng-model="costOf2" ng-change="calcBudget()">
<h1>{{budget}}</h1>
</div>
我知道计算可能已关闭,并且目前没有多大意义,因为它与您的示例有关,但我会研究您的代码并尝试对计算有所了解。外语代码搞糊涂了
如果我的控制器中有这样的方法:
var app = angular.module('App', []);
$scope.calcoloBudget = function(davendere, offerta, budg){
davendere = parseInt(davendere);
offerta = parseInt(offerta);
return budg - (offerta - davendere);
};
我可以将此方法的结果分配给视图中的多个变量吗? 例如:
<div ng-if="selectedItem3.costo < off2"{{budget3=calcoloBudget(selectedItem3.costo, off2, budget2)}}</div>
而换个角度来看:
<div ng-model="budget2" ng-if="selectedItem2.costo < off1">Il tuo budget per questa busta dopo la seconda offerta è: <b>{{budget2=calcoloBudget(selectedItem2.costo, off1, budget1)}}</b> fantamilioni.</div>
我可以使用这两个变量吗?如果是,哪种方法最好?
您可以尝试 return 对象而不是字符串。看看 plnkr
中的这个例子var app = angular.module('myApp', []);
app.controller('AppCtrl', function($scope) {
$scope.returnArray = function() {
return {
var1: 'variable one',
var2: 'variable two'
}
}
$scope.getData = function() {
var data = $scope.returnArray()
$scope.var1 = data.var1
$scope.var2 = data.var2
}
})
使用大括号将变量值绑定到控制器的范围。
例如:
在 javascript 控制器中
angular.module('App', [])
.controller('testController', [
'$scope',
function($scope){
$scope.testVariable = true;
$scope.testValue = 'Hello there';
]};
在你的HTML
<div ng-app="App" ng-controller="testController">
<h1 ng-if="testVariable">{{testValue}}</h1>
</div>
在您的示例中,表达式括号内有计算。虽然你可以在那些括号中进行简单的计算,如 2+2,但我们通常希望将表达式绑定到变量。
你正在尝试做的事情让位于 curlys 中的许多计算。
我建议对你的问题做这样的事情。
1) 在你的 javascript
angular.module('App', [])
.controller('testController', [
'$scope',
function($scope){
$scope.costOf = 0;
$scope.costOf2 = 0;
$scope.budget = 0;
$scope.calcBudget = function(){
$scope.budget = $scope.budget - ($scope.costOf - $scope.costOf2)
return;
}
]};
2) 在你的 html
<div ng-app="App" ng-controller="testController">
<input type="number" ng-model="costOf" ng-change="calcBudget()">
<input type="number" ng-model="costOf2" ng-change="calcBudget()">
<h1>{{budget}}</h1>
</div>
我知道计算可能已关闭,并且目前没有多大意义,因为它与您的示例有关,但我会研究您的代码并尝试对计算有所了解。外语代码搞糊涂了