gpt4 book ai didi

javascript - AngularJS 选项卡示例和 IE8

转载 作者:行者123 更新时间:2023-12-04 00:55:39 24 4
gpt4 key购买 nike

我正在使用 AngularJS 主页上的选项卡示例。我基本上只是逐字提取该代码,所以它看起来像这样:

app.directive('tabs', function() {
return {
restrict: 'E',
transclude: true,
scope: {},
controller: function($scope, $element) {
var panes = $scope.panes = [];

$scope.select = function(pane) {
angular.forEach(panes, function(pane) {
pane.selected = false;
});
pane.selected = true;
}

this.addPane = function(pane) {
if (panes.length == 0) $scope.select(pane);
panes.push(pane);
}
},
template:
'<div class="tabbable">' +
'<ul class="nav nav-tabs">' +
'<li ng-repeat="pane in panes" ng-class="{active:pane.selected}">'+
'<a href="" ng-click="select(pane)">{{pane.title}}</a>' +
'</li>' +
'</ul>' +
'<div class="tab-content" ng-transclude></div>' +
'</div>',
replace: true
};
});

app.directive('pane', function() {
return {
require: '^tabs',
restrict: 'E',
transclude: true,
scope: { title: '@' },
link: function(scope, element, attrs, tabsCtrl) {
tabsCtrl.addPane(scope);
},
template:
'<div class="tab-pane" ng-class="{active: selected}" ng-transclude>' +
'</div>',
replace: true
};
})

这很好用,除了在 IE8 中,您单击以更改当前选项卡的实际选项卡丢失并且我收到此控制台错误:

  Error: No controller: tabs<div class=tab-pane title="Change Log" ng-class="{active: selected}" ng-transclude>

IE8 中可能出了什么问题?

最佳答案

在您的指令中,尝试将 restrict: 'E' 替换为 restrict: 'A' 然后更改所有指令以使用属性。这就是我如何在 http://angular-ui.github.io/bootstrap/ 中获得标签的方式在我正在从事的必须支持 IE8 的项目中工作。

关于javascript - AngularJS 选项卡示例和 IE8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13349416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com