Angularjs $scope.passengerNo返回未定义的
我在接收角度表达式的值时遇到问题。 应该发生的是,当单击EndofPage按钮时,它应该通过passengerNo和标题。标题正在通过罚款,但乘客号始终未定义 你能告诉我怎么更新这个吗?因为passengerNo应该由一个textfield控制,我认为更新后的值应该自动注入 谢谢Angularjs $scope.passengerNo返回未定义的,angularjs,Angularjs,我在接收角度表达式的值时遇到问题。 应该发生的是,当单击EndofPage按钮时,它应该通过passengerNo和标题。标题正在通过罚款,但乘客号始终未定义 你能告诉我怎么更新这个吗?因为passengerNo应该由一个textfield控制,我认为更新后的值应该自动注入 谢谢 //mainquote.html <ion-view view-title="{{title}}" can-swipe-back="true"> <ion-content
//mainquote.html
<ion-view view-title="{{title}}" can-swipe-back="true">
<ion-content ng-controller="QuoteItemCtrl">
<div class="card">
<div class="item centerText" style="background-color: brown;">
<h6 class="headerTextPadding">REGION</h6>
<h2>{{title}}</h2>
</div>
</div>
<div class="padding40Top padding20Bottom">
<h2 class="centerText">Select number of Passengers</h2>
<input ng-model="passengerNo" class="col col-50 col-offset-25 quoteTField" type="textfield">
<h6 class="centerText">PASSENGERS</h6>
</div>
<div>
<h6 class="logText centerText">SCHOOLS > {{title}} > {{getCost()}} > @ {{multiplier}}</h6>
</div>
</ion-content>
<div class="endOfPageButton">
<a href="#/app/home/finalquote">
<button class="button button-full button-clear" ng-click="sendQuoteInfo()">Submit Quote</button>
</a>
</div>
</ion-view>
//controller.js
app.controller('QuoteItemCtrl', function($scope, $rootScope, $stateParams, MakeSchoolQuote, DataThrow) {
var item = DataThrow.getDataObject();
$scope.passengerNo = 49;
$scope.title = item;
$scope.multiplier = MakeSchoolQuote.getMultipler(item);
$scope.getCost = function() {
$scope.pax = $scope.passengerNo;
var cost = $scope.multiplier * $scope.passengerNo
console.log("passenger numbers are" + $scope.pax);
return cost;
}
$scope.sendQuoteInfo = function() {
var data = [$scope.title, $scope.passengerNo, "N/A"];
var sendData = DataThrow.storeDataObject(data);
}
})
//mainquote.html
区域
{{title}}
选择乘客人数
乘客
学校>{{title}}>{{getCost()}}>@{{multiplier}
//controller.js
app.controller('QuoteItemCtrl',函数($scope、$rootScope、$stateParams、MakeSchoolQuote、DataThrow){
var item=DataThrow.getDataObject();
$scope.passengerNo=49;
$scope.title=项目;
$scope.multiplier=MakeSchoolQuote.getmultiplier(项目);
$scope.getCost=function(){
$scope.pax=$scope.passengerNo;
风险值成本=$scope.multiplier*$scope.passengerNo
console.log(“乘客号为”+$scope.pax);
退货成本;
}
$scope.sendQuoteInfo=函数(){
var数据=[$scope.title,$scope.passengerNo,“不适用”];
var sendData=DataThrow.storeDataObject(数据);
}
})
1。请提供一个工作示例。2.当值已经绑定到输入中的作用域模型时,为什么要在ng click
中将值作为参数传递?是否将控制器连接到视图?输入字段是否被创建隔离作用域的任何内容(例如ngIf、ngRepeat等)包装?这将导致将passengerNo添加到隔离作用域中,而不是添加到用于控制器的作用域中。解决此问题的最简单方法是:向控制器添加$scope.passengerNo=49
。此外,这不是ngInit
应该使用的方法,请参阅。改为初始化控制器中的值。我已更新以显示HTML的更完整代码,并反映有关控制器中初始化的@Numyx注释。但是,在更改textfield时,$scope.sendQuoteInfo()的控制器中没有更新passengerNo。如果有人能发现问题,那就太好了,谢谢!