我在{{total}}里面得到的值但是当我在ng-init中初始化这个值时,没有在ng-init中得到total的值
例如:
计算总价时调用此函数:
ng-change HTML部分:
<div class="col-md-2 col-sm-2 col-lg-2 col-lg-offset-1 col-xs-12 ">
<select class="form-control select-data pull-right mt10" ng-model="book.package[$index]" ng-change="get_total_price(x.price,book.package[$index],x.id)">
<option value="">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</div>
ng-change="get_total_price(x.price,book.package[$index],x.id);
从此我得到总价
${{total}}
现在我想通过像这样的ng-init初始化这个
<input type="text" class="hidden" placeholder="Enter name" ng-init="book.total_price= total" ng-model="book.total_price">
但是当我通过json这样检查这个
时{{total_price | json}}
它显示的是total_price 0而不是我{{total}}
任何人都可以帮我解决这个问题吗?任何帮助将不胜感激。
提前致谢。
已编辑:
$scope.get_total_price = function ($price,$value,$id) {
$scope.total = $scope.total + Number($price)*Number($value);
};
这是我获取价格值并返回此视图的功能,我需要在ng-init中初始化此返回价格。
答案 0 :(得分:1)
试试这可能对你有帮助
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.value = 0;
$scope.book = {
total_price : 0,
}
$scope.get_total_price = function (price,value,id) {
$scope.book.total_price = $scope.book.total_price + Number(price) * Number(value);
};
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
<span>Total:- {{book.total_price}}</span>
<br>
<select ng-model="value" ng-change="get_total_price(2,1,1)">
<option value="">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<br>
<input type="text" class="hidden" placeholder="Enter name" ng-model="book.total_price">
<div>
答案 1 :(得分:0)
您已初始化book.total_price
对象而不是total_price
。
您的total_price
对象位于book
对象内。因此,您应该编写代码{{book.total_price | json}}
而不是{{total_price | json}}
。