Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Angularjs Ng显示未在Ng重复中更新_Angularjs - Fatal编程技术网

Angularjs Ng显示未在Ng重复中更新

Angularjs Ng显示未在Ng重复中更新,angularjs,Angularjs,我有两个数据列表,根据所选值(语言)显示。更改语言时,ng show未正确更新 我已经尝试调用$scope.apply(),但它不起作用 这是一个 ng show需要表达式而不是字符串,因此不需要插值双大括号 不正确:ng show=“{{translation.language==vm.currentLanguage}}” 正确:ng show=“translation.language===vm.currentLanguage”您需要更改向ng show提供表达式的方式。请删除“{{”,然后

我有两个数据列表,根据所选值(语言)显示。更改语言时,ng show未正确更新

我已经尝试调用$scope.apply(),但它不起作用

这是一个


ng show
需要表达式而不是字符串,因此不需要插值双大括号

不正确:
ng show=“{{translation.language==vm.currentLanguage}}”


正确:
ng show=“translation.language===vm.currentLanguage”

您需要更改向ng show提供表达式的方式。请删除“{{”,然后再试一次。这是一个更新的内容

<div ng-repeat="translation in vm.translations" ng-show="translation.language === vm.currentLanguage">

<div ng-repeat="translation in vm.translations" ng-show="translation.language !== vm.currentLanguage">

@Hugo Wood对于ngShow问题的解决方案是正确的。我可以再提出一个解决方案,可能会更干净一些。您可以首先使用过滤器渲染必要的项目,而不是隐藏/显示:

<h1>Selected</h1>
<div ng-repeat="translation in vm.translations | filter:{language: vm.currentLanguage}">
  <div>{{translation.language}}:
    <input ng-model="vm.translations[$index].text" /> show: {{translation.language === vm.currentLanguage}} 
  </div>
</div>
<br />
<br />
<h1>Not Selected</h1>
<div ng-repeat="translation in vm.translations | filter:{language: '!' + vm.currentLanguage}">
  <div>{{translation.language}}:
    <input ng-model="vm.translations[$index].text" /> show:{{translation.language !== vm.currentLanguage}} 
  </div>
</div>
已选定
{{translation.language}}:
显示:{translation.language==vm.currentLanguage}


未选择 {{translation.language}}: 显示:{{translation.language!==vm.currentLanguage}
演示:

<h1>Selected</h1>
<div ng-repeat="translation in vm.translations | filter:{language: vm.currentLanguage}">
  <div>{{translation.language}}:
    <input ng-model="vm.translations[$index].text" /> show: {{translation.language === vm.currentLanguage}} 
  </div>
</div>
<br />
<br />
<h1>Not Selected</h1>
<div ng-repeat="translation in vm.translations | filter:{language: '!' + vm.currentLanguage}">
  <div>{{translation.language}}:
    <input ng-model="vm.translations[$index].text" /> show:{{translation.language !== vm.currentLanguage}} 
  </div>
</div>