Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不同条件下的ng模型_Javascript_Arrays_Angularjs - Fatal编程技术网

Javascript 不同条件下的ng模型

Javascript 不同条件下的ng模型,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我有两个不同的数组设置为: var oldarr = ['one','two','three']; var newarr = ['four','five','six']; var condi = 1 / 0; 我使用数组值作为ng模型作为选择下拉列表的选项值。然而,我想根据cond变量的值使用不同的数组,这意味着:若condi为1,我将使用ng model=oldarr,而vif confi为2,我将使用ng model=newarr 我的下拉列表如下。有人能建议我怎么做吗 <sel

我有两个不同的数组设置为:

var oldarr = ['one','two','three'];

var newarr = ['four','five','six'];

var condi = 1 / 0;
我使用数组值作为ng模型作为选择下拉列表的选项值。然而,我想根据cond变量的值使用不同的数组,这意味着:若condi为1,我将使用ng model=oldarr,而vif confi为2,我将使用ng model=newarr

我的下拉列表如下。有人能建议我怎么做吗

<select ng-model="oldarr " ng-selected="{{defaultvalue == selectedslastatus}}">
  <option ng-repeat="vals in oldarr ">{{vals }}</option>
</select>

{{vals}}

我认为最好的方法是使用中间数组

(实际上,这可以通过
ng show
ng if
ng switch
来实现,但是如果您想要一个干净的HTML模板(视图),并且数组的结构相同,您可能需要将逻辑迁移到控制器)

比如:


我认为最好的方法是使用中间数组

(实际上,这可以通过
ng show
ng if
ng switch
来实现,但是如果您想要一个干净的HTML模板(视图),并且数组的结构相同,您可能需要将逻辑迁移到控制器)

比如:


我只想用
ng show
或类似的东西交换视图。假设
condi
不总是布尔值(1或0),我建议使用
ng开关。以下是一个例子:

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.condi=1;
$scope.oldarr=['1','2','3'];
$scope.newarr=['four','five','six'];
$scope.changeCondi=函数(){
$scope.condi=($scope.condi==1)?0:1;
}
});

更改条件:{{condi}
{{vals}}
选定:{{oldar}}
{{vals}}
选定:{{newar}}

我只想用
ng show
或类似的东西交换视图。假设
condi
不总是布尔值(1或0),我建议使用
ng开关。以下是一个例子:

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.condi=1;
$scope.oldarr=['1','2','3'];
$scope.newarr=['four','five','six'];
$scope.changeCondi=函数(){
$scope.condi=($scope.condi==1)?0:1;
}
});

更改条件:{{condi}
{{vals}}
选定:{{oldar}}
{{vals}}
选定:{{newar}}

如果要根据条件使用
型号
,可以使用
ng show
。如果您需要更详细的信息,请告诉我,我会给出答案。
condi
是如何变化的?它是动态的还是仅在初始化过程中如果要根据条件使用
模型
,可以使用
ng show
。如果您需要更详细的信息,请告诉我,我会给出答案。
condi
是如何变化的?它是动态的还是仅在初始化期间
<select ng-model="modelArr" ng-selected="{{defaultvalue == selectedslastatus}}">
  <option ng-repeat="vals in modelArr ">{{vals }}</option>
</select>
// 
$scope.$watch('condi', function (){
    if (condi === true)
        $scope.modelArr = newArr;
    else
        $scope.modelArr = oldArr;
})