如何在angularjs中将单位从毫米更改为英寸,或将单位从毫米更改为英寸

如何在angularjs中将单位从毫米更改为英寸,或将单位从毫米更改为英寸,angularjs,Angularjs,大宗报价 我需要一个下拉列表,用户可以选择任何单位(毫米或英寸。切换),因此,如果我选择值MM,在我的下表中,所有计算应以MM为单位。这意味着所有值应以MM为单位显示,并根据下拉列表中选择的单位进行计算。 例如,所有长度、宽度和总面积将以毫米为单位显示和计算(基于下拉选择) 选择一个单位: 长度: 宽度: 面积: - 添加字段 结果:{{sum()}} var-app=angular.module('myapp',[]); 应用程序控制器('MainCtrl',函数($scope){ $sc

大宗报价 我需要一个下拉列表,用户可以选择任何单位(毫米或英寸。切换),因此,如果我选择值MM,在我的下表中,所有计算应以MM为单位。这意味着所有值应以MM为单位显示,并根据下拉列表中选择的单位进行计算。 例如,所有长度、宽度和总面积将以毫米为单位显示和计算(基于下拉选择)


选择一个单位:

长度: 宽度: 面积: - 添加字段 结果:{{sum()}} var-app=angular.module('myapp',[]); 应用程序控制器('MainCtrl',函数($scope){ $scope.choices=[{id:'choice1',长度:0,宽度:0},{id:'choice2',长度:0,宽度:0}]; $scope.addNewChoice=函数(){ var newItemNo=$scope.choices.length+1; $scope.choices.push({'id':'choice'+newItemNo}); }; $scope.removeChoice=函数(){ var lastItem=$scope.choices.length-1; $scope.choices.splice(最后一项); }; $scope.sum=函数(){ var总和=0; angular.forEach($scope.choices,function(choice){ 总和+=choice.length*choice.width; }); 回报金额; } });
您需要定义单位变量才能访问它。 例如:

$scope.unit = ['mm', 'inch'];
我只是稍微修改了你的代码。希望能有帮助

  • 添加了id用作除法因子的选项{mm,cm,m}
  • 在ng选项下拉列表中使用的选项
  • 存储以前的结果并使用ng-change()事件更新值
  • var-app=angular.module('myapp',[]);
    应用程序控制器('MainCtrl',函数($scope){
    $scope.change=函数(){
    if($scope.data.previousSel!=$scope.data.selectedOption){
    var diff=$scope.data.previousSel.id-$scope.data.selectedOption.id;
    angular.forEach($scope.choices,function(choice){
    choice.length=Math.pow(10,diff)*choice.length;
    choice.width=Math.pow(10,diff)*choice.width;
    });
    $scope.data.previousSel=$scope.data.selectedOption;
    }
    };
    $scope.data={
    可用选项:[{
    id:'1',
    姓名:“嗯”
    }, {
    id:'2',
    名称:“cm”
    }, {
    id:'4',
    姓名:m
    }],
    先前的选择:{
    id:'4',
    姓名:m
    },
    选择选项:{
    id:'4',
    姓名:m
    }//这将设置ui中select的默认值
    };
    $scope.choices=[{
    id:“choice1”,
    长度:0,
    宽度:0
    }, {
    id:‘选择2’,
    长度:0,
    宽度:0
    }];
    $scope.addNewChoice=函数(){
    var newItemNo=$scope.choices.length+1;
    $scope.choices.push({
    “id”:“choice”+newItemNo
    });
    };
    $scope.removeChoice=函数(){
    var lastItem=$scope.choices.length-1;
    $scope.choices.splice(最后一项);
    };
    $scope.sum=函数(){
    var总和=0;
    angular.forEach($scope.choices,function(choice){
    总和+=choice.length*choice.width;
    });
    回报金额;
    }
    });
    
    
    选择一个单位:

    长度: 宽度: 面积: - 添加字段 结果:{{sum()}}
    为什么不编写一个自定义指令来处理所有事情呢?你给出了一个好主意!!!!但是我的要求是把单位改成英尺和英寸,所以请你帮个忙,如何使代码在英尺和英寸之间工作?如果你真的需要放大,你可以执行类似的操作