AngularJS 1.0.7 in html5Mode 和 AngularStrap bs-select 指令重定向到索引
AngularJS 1.0.7 in html5Mode and AngularStrap bs-select directive redirect to index
我有 AngularJS 1.0.7 网络应用程序,我正在使用 AngularStrap select 指令。在我将我的应用程序移至 html5Mode 之前,一切都运行良好。我这样做是为了美化我的网址。
但是现在,当我在任何 bs-select 组件中 select 一个选项时,我被重定向到索引。
HTML
<select class="show-tick" ng-model="selectType" ng-options="boatType as (boatType.name | translate) for boatType in boatTypes" bs-select>
<option value="" selected>{{'BOAT_TYPE' | translate}}</option>
</select>
JS 控制器:
$scope.$watch('selectType', function() {
if($scope.selectType != undefined) {
BoatModel.query({type_id: $scope.selectType.id},
function success(result){
if(result.length == 0){
$scope.boatModels = new Array ();
$scope.selectModel = undefined;
SearcherService.setModel(undefined);
}
else{
$scope.boatModels = result.slice();
}
}
);
SearcherService.setType($scope.selectType.id);
$scope.selectModel = undefined;
}
else {
SearcherService.setType(undefined);
$scope.selectModel = undefined;
}
});
我修好了。
我发现 Bootstrap Select 指令生成的代码与 html5Mode 不兼容,因为它在 select 的每个选项中插入了一个 href="#"。当您单击它时,您将被重定向到索引。
指令中的原始代码
createA:function(test, classes) {
return '<a tabindex="-1" href="#" class="'+classes+'">' +
'<span class="pull-left">' + test + '</span>' +
'<i class="icon-ok check-mark"></i>' +
'</a>';
我只是通过删除 href 来修复它,如下所示:
createA:function(test, classes) {
return '<a tabindex="-1" class="'+classes+'">' +
'<span class="pull-left">' + test + '</span>' +
'<i class="icon-ok check-mark"></i>' +
'</a>';
我有 AngularJS 1.0.7 网络应用程序,我正在使用 AngularStrap select 指令。在我将我的应用程序移至 html5Mode 之前,一切都运行良好。我这样做是为了美化我的网址。
但是现在,当我在任何 bs-select 组件中 select 一个选项时,我被重定向到索引。
HTML
<select class="show-tick" ng-model="selectType" ng-options="boatType as (boatType.name | translate) for boatType in boatTypes" bs-select>
<option value="" selected>{{'BOAT_TYPE' | translate}}</option>
</select>
JS 控制器:
$scope.$watch('selectType', function() {
if($scope.selectType != undefined) {
BoatModel.query({type_id: $scope.selectType.id},
function success(result){
if(result.length == 0){
$scope.boatModels = new Array ();
$scope.selectModel = undefined;
SearcherService.setModel(undefined);
}
else{
$scope.boatModels = result.slice();
}
}
);
SearcherService.setType($scope.selectType.id);
$scope.selectModel = undefined;
}
else {
SearcherService.setType(undefined);
$scope.selectModel = undefined;
}
});
我修好了。
我发现 Bootstrap Select 指令生成的代码与 html5Mode 不兼容,因为它在 select 的每个选项中插入了一个 href="#"。当您单击它时,您将被重定向到索引。
指令中的原始代码
createA:function(test, classes) {
return '<a tabindex="-1" href="#" class="'+classes+'">' +
'<span class="pull-left">' + test + '</span>' +
'<i class="icon-ok check-mark"></i>' +
'</a>';
我只是通过删除 href 来修复它,如下所示:
createA:function(test, classes) {
return '<a tabindex="-1" class="'+classes+'">' +
'<span class="pull-left">' + test + '</span>' +
'<i class="icon-ok check-mark"></i>' +
'</a>';