javascript - 不同条件下的 ng-model

标签 javascript arrays angularjs

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

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

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

var condi = 1 / 0;

我使用数组值作为 ng-model 作为选择下拉列表的选项值。但是我想根据 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>

最佳答案

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

(实际上这可以通过 ng-showng-ifng-switch 来完成,但如果你想要一个干净的 HTML 模板( View )和您的数组结构相同,您可能希望将逻辑迁移到 Controller )

喜欢:

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

并执行在 Controller 中使用哪个数组的逻辑。

这就是你的 Controller 的样子:

// 
$scope.$watch('condi', function (){
    if (condi === true)
        $scope.modelArr = newArr;
    else
        $scope.modelArr = oldArr;
})

关于javascript - 不同条件下的 ng-model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50173588/

相关文章:

javascript - 无法通过路由在AngularJS中的 View 之间传递数据

javascript - 为什么在使用 bootstrap 时,动态生成的表单字段没有边距?

python - numpy - 如何按索引计算嵌套列表中项目的出现次数?

performance - 寻找最长的非负子数组

javascript - 这个循环只允许我为各种问题选择一个选项,尽管它们都有不同的选项

angularjs - 如何从 AngularJS Controller 调用 Facebook 像素事件?

PHP:执行 php 脚本时显示 "loading"页面

javascript - ChartJS,禁用多图数据上的一个图的工具提示

javascript - OpenLayers 3 hasFeatureAtPixel 图层过滤器

javascript - AngularJS 动态依赖注入(inject)