Javascript AngularJS使用ng repeat重新绘制div列表
我想在用户选择不同的包后重新绘制div列表,但我找不到一种方法让AngularJS在选择包后重新绘制div。以下是我的示例代码: 或以下代码: HtmlJavascript AngularJS使用ng repeat重新绘制div列表,javascript,angularjs,Javascript,Angularjs,我想在用户选择不同的包后重新绘制div列表,但我找不到一种方法让AngularJS在选择包后重新绘制div。以下是我的示例代码: 或以下代码: Html {{car.name} {{car.selected_package.one}} {{car.selected_package.two} {{car.selected_package.three}} {{car.selected_package.four}} {{car.selected_package.five}} {{car.packag
{{car.name}
{{car.selected_package.one}}
{{car.selected_package.two}
{{car.selected_package.three}}
{{car.selected_package.four}}
{{car.selected_package.five}}
{{car.packages[i].name}
Javascript
var app = angular.module('myApp', []);
app.filter('range', function () {
return function (input, total) {
total = parseInt(total);
for (var i = 0; i < total; i++)
input.push(i);
return input;
};
});
app.controller('CarPackageCtrl', ['$scope',
function ($scope) {
$scope.car = new Object();
$scope.car.name = "Keslar";
$scope.car.isShowPackageSelect = true; // should init to false but having trouble with getting ng-mouseover to work, so setting it to false for now
var package = new Object();
package.name = "Basic";
package.one = "stereo";
package.two = "sunroof";
package.five = "spoiler";
$scope.car.packages = [];
$scope.car.packages.push(package);
var package2 = new Object();
package2.name = "Intermediate";
package2.two = "sunroof";
package2.three = "GPS";
package2.four = "rear video";
package2.five = "spoiler";
$scope.car.packages.push(package2);
var package3 = new Object();
package3.name = "Power";
package3.one = "stereo";
package3.two = "sunroof";
package3.three = "GPS";
package3.four = "rear video";
package3.five = "spoiler";
$scope.car.packages.push(package3);
$scope.car.selected_package = $scope.car.packages[0];
$scope.showPackageSelect = function showPackageSelect($scope) {
$scope.car.isShowPackageSelect = true;
}
$scope.hidePackageSelect = function hidePackageSelect($scope) {
$scope.car.isShowPackageSelect = false;
}
$scope.setPackage = function setPackage($scope, package) {
$scope.car.selected_package = package;
}
}]);
var-app=angular.module('myApp',[]);
应用过滤器('范围',函数(){
返回函数(输入,总计){
总计=parseInt(总计);
对于(变量i=0;i
如果我没听错的话,你的意思是这样的
$scope.setPackage = function(pack){
$scope.car.selected_package = pack;
};
你所说的“重画”是什么意思?@ThomasP1988,每辆车的.packages[i]都有不同数量的物品,因此如果car.selected\u packages比前一辆车的物品多/少,那么物品的数量(因此divs)应该重画,不是吗?哇,是的,正是我想要的。我是用$scope.setPackage=函数setPackage($scope,package){$scope.car.selected_package=package;}完成的,你能告诉我为什么当我有$scope include时,它不工作吗?我认为如果我们从父控制器设置某些内容,则始终使用$scope。
$scope.setPackage = function(pack){
$scope.car.selected_package = pack;
};