Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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 选择组件的问题_Javascript_Angularjs_Spring Boot - Fatal编程技术网

Javascript 选择组件的问题

Javascript 选择组件的问题,javascript,angularjs,spring-boot,Javascript,Angularjs,Spring Boot,我在提交我选择的项目列表时遇到问题,我从角度开始,但仍然有点迷路。这是我在这里的第一篇帖子 在我的HTML中,我使用ng repeat列出所有项目,当我的屏幕加载我的第一个也是唯一的项目是:{{list.name}时,当我单击该项目{{list.name}时,ai正确加载列表 <select data-placeholder="Escolha uma Empresa/Filial" multiple chosen style="width: 100%;" ng-model=

我在提交我选择的项目列表时遇到问题,我从角度开始,但仍然有点迷路。这是我在这里的第一篇帖子

在我的HTML中,我使用ng repeat列出所有项目,当我的屏幕加载我的第一个也是唯一的项目是:{{list.name}时,当我单击该项目{{list.name}时,ai正确加载列表

<select data-placeholder="Escolha uma Empresa/Filial" multiple chosen
    style="width: 100%;"
    ng-model="filtroRequisicao.codigoSistemaUsuariosFiliais"
    required>
    <option ng-repeat="list in lista" ng-value="list.id">
         {{list.name}}
    </option>
</select>
我意识到的一件事是从angular的方法PUT调用开始我的列表

$scope.lista =
            [
                {
                    'id': 1,
                    'name': 'American Black Bear',
                },
                {
                    'id': 2,
                    'name': 'Asiatic Black Bear',
                },
                {
                    'id': 3,
                    'name': 'Brown Bear',
                },
                {
                    'id': 4,
                    'name': 'Giant Panda',
                },
                {
                    'id': 5,
                    'name': 'Sloth Bear',
                },
                {
                    'id': 6,
                    'name': 'Sun Bear',
                },
                {
                    'id': 7,
                    'name': 'Polar Bear',
                },
                {
                    'id': 8,
                    'name': 'Spectacled Bear',
                }
            ];
例如,当我从函数中填充值时,我的选择将显示所有项。现在,如果我填充angular PUT response.data返回的值,则我的select不会得到任何项

在我看来,html在我完成角度中所有控制器的加载之前就被加载了

我不知道我是否看错了方向,但在我看来这是一个问题,我不知道如何解决

更新

CSS

index.html:

<link rel="stylesheet" href="./vendor/angular/angular-csp.css"/>
更新解决方案

我能够解决我的问题,但我希望您能帮助我了解这是否是正确的方法:

我使用了ng-if-so,当我的$scope.lista为null dir时,ng-if将删除并重新创建elemento

角度:

$scope.lista = [];
Html:

编辑:

将ng斗篷放在主体或标记上可以解决{{list.name}问题。 使$scope.lista=[]并在select with中使用ng

ng-if="lista.length > 0"
解决了渲染“选择”选项的问题

将ng斗篷挂在身体或标签上

请在此处阅读:

这将解决{{list.name}问题

使$scope.lista=[]不是[{}]

函数可以更改HTML的预览,并在上传可疑或复杂的情况下产生破坏性后果。
对于像您这样的快速搜索,函数有一个非常有效的任务。

很抱歉我不知道,我在index.html中添加了css,根据文档,我在select:code{{list.name}代码中放置了ng-Clope类,并初始化了我的scope.list=[];现在{{list.name}}消失了,select是空的,它解决了这个问题吗?您可以尝试添加$scope.$apply;$scope.loadFiliais之后;它没有解决这个问题,无论是使用ng-斗篷还是$scope.apply,都会出现以下错误:[link]console.log$scope.lista在您的承诺中的输出是什么?当我加载屏幕时,$scope.list=[],在select组件加载后,会执行一个函数$scope.loadFilais,在这里它会向我的$scope.list提供值:code。2[对象,对象]0:对象1:对象长度:2代码。
<div class="panel-body">
   <p class="lt-label-required">Situação</p>
   <select data-placeholder="Escolha uma Empresa/Filial" multiple class="chosen ng-cloak" chosen style="width: 100%;"
       ng-model="filtroRequisicao.codigoSistemaUsuariosFiliais"
       required>

       <option ng-repeat="list in lista" value="{{list.id}}">
             {{list.name}}
       </option>

    </select>
 </div>
$scope.loadFiliais= function () {
            $http({
                method: 'PUT',
                url: '/getFiliais'
            }).then(function (response) {
                    $scope.lista = response.data;
                    console.log($scope.lista);
                },
                function (response) {
                    console.log(response.data);
                    $scope.showNoty('Nenhum dado encontrado.', 'information');
                });
        };

        $scope.loadFiliais();
$scope.lista = [];
    <select data-placeholder="Escolha uma Empresa/Filial" multiple chosen
        style="width: 100%;"
        ng-if="lista.length > 0"
        ng-model="filtroRequisicao.codigoSistemaUsuariosFiliais"
        required>
        <option ng-repeat="list in lista" ng-value="list.id">
             {{list.name}}
        </option>

</select>
ng-if="lista.length > 0"