Angularjs 错误中的简单制表符系统
simple tab system in Angularjs error
因此,我尝试在 angularjs 中创建一个简单的选项卡系统,但每当我尝试在 ng-click 模板的 a 或 li 标签上绑定数据时,我都会收到此错误:
语法错误:从 [{4}] 开始的表达式 [{3}] 的第 {2} 列处的标记“{1}”。
我已经搜索了几个小时无法弄清楚是什么导致了这个问题
这是我的代码:
<div id="tabs">
<ul>
<li ng-repeat="file in files" ng-click="tab = {{$index}}">
<a href="#">{{file.file_name}}.{{file.file_extension}}</a>
</li>
</ul>
</div>
<!-- tab container -->
<div class="tab-content">
<div class="tab" ng-repeat="doc in files" ng-show="tab == {{$index}}">
{{doc.file_name}}.{{doc.file_extension}}
</div>
</div>
我试过用单引号将 {{$index}} 括起来,这解决了问题,但点击时标签不起作用。
您可以将其从内联逻辑中移出并移入函数中,例如 $scope.setTabIndex
,如下所示:
$scope.setTabIndex = function(index) {
$scope.tab = index;
}
然后在您的标记中:
<li ng-repeat="file in files" ng-click="setTabIndex($index)">
而对于 ng-show
,只需删除 $index
:
周围的花括号
<div class="tab" ng-repeat="doc in files" ng-show="tab == $index">
Here's 作为 jsBin
因此,我尝试在 angularjs 中创建一个简单的选项卡系统,但每当我尝试在 ng-click 模板的 a 或 li 标签上绑定数据时,我都会收到此错误:
语法错误:从 [{4}] 开始的表达式 [{3}] 的第 {2} 列处的标记“{1}”。
我已经搜索了几个小时无法弄清楚是什么导致了这个问题
这是我的代码:
<div id="tabs">
<ul>
<li ng-repeat="file in files" ng-click="tab = {{$index}}">
<a href="#">{{file.file_name}}.{{file.file_extension}}</a>
</li>
</ul>
</div>
<!-- tab container -->
<div class="tab-content">
<div class="tab" ng-repeat="doc in files" ng-show="tab == {{$index}}">
{{doc.file_name}}.{{doc.file_extension}}
</div>
</div>
我试过用单引号将 {{$index}} 括起来,这解决了问题,但点击时标签不起作用。
您可以将其从内联逻辑中移出并移入函数中,例如 $scope.setTabIndex
,如下所示:
$scope.setTabIndex = function(index) {
$scope.tab = index;
}
然后在您的标记中:
<li ng-repeat="file in files" ng-click="setTabIndex($index)">
而对于 ng-show
,只需删除 $index
:
<div class="tab" ng-repeat="doc in files" ng-show="tab == $index">
Here's 作为 jsBin