如何使用 "a href" 内部视图引用 DOM 元素 ID - Angular JS
How to refer DOM elements ID using "a href" inside views - Angular JS
我试图在 google 上找到一些解决方案,但无法得到确切的答案。
我正在尝试使用以下代码更改视图内的选项卡:
<ul class="nav nav-tabs">
<li class="{active: selectedTab === 'details'}"><a href ng-click="selectTab('details')">Details</a></li>
<li class="{active: selectedTab === 'size'}"><a href ng-click="selectTab('size')">Size</a></li>
<li class="{active: selectedTab === 'shipping'}"><a href ng-click="selectTab('shipping')">Shipping</a></li>
</ul>
但是每当我单击 "Size" 选项卡时,视图都会重定向到某个页面。我的意思是 URL 变化
从 http://localhost:8080/abcd/index.html#/ TO http://localhost:8080/Final_Albatross/index.html#/size
没有视图实现,点击指的是 id "size" 和选项卡更改。
肯定 angular 将此点击视为新的视图调用。请帮帮我!!
我的 JS 文件:
mainAngular.controller('ProductDetailController', function($scope, $routeParams) {
$scope.prod_Id = $routeParams.prodId;
$scope.selectTab = function(tabName) {
alert(tabName);
$scope.selectedTab = tabName;
alert($scope.selectedTab);
}
});
虽然我已经使用 "target="_self" 实现了它,但我想以 angular 的方式实现它。
在 Angular 中使用锚链接需要 target="_self"
。
https://docs.angularjs.org/guide/$位置
<ul>
<li><a href="#linktoroute">Link</a></li>
<li><a href="#anchor" target="_self">Anchor</a></li>
</ul>
忘记 jQuery、DOM 处理此类问题的方法。使用 angular 方式。
在AngularJS中,单点真理就是模型。视图(即 HTML)只是该模型的表示,当模型更改时会自动更改。
所以,您需要一个选定的标签。将其添加到模型中:
$scope.selectedTab = 'details';
您希望能够更改选中的选项卡。就这么简单
$scope.selectTab = function(tabName) {
$scope.selectedTab = tabName;
}
并且您希望视图反映模型值:
<ul class="nav nav-tabs">
<li class="{active: selectedTab === 'details'}"><a href ng-click="selectTab('details'}">Details</a></li>
<li class="{active: selectedTab === 'size'}"><a href ng-click="selectTab('size'}">Size</a></li>
</ul>
我试图在 google 上找到一些解决方案,但无法得到确切的答案。
我正在尝试使用以下代码更改视图内的选项卡:
<ul class="nav nav-tabs">
<li class="{active: selectedTab === 'details'}"><a href ng-click="selectTab('details')">Details</a></li>
<li class="{active: selectedTab === 'size'}"><a href ng-click="selectTab('size')">Size</a></li>
<li class="{active: selectedTab === 'shipping'}"><a href ng-click="selectTab('shipping')">Shipping</a></li>
</ul>
但是每当我单击 "Size" 选项卡时,视图都会重定向到某个页面。我的意思是 URL 变化 从 http://localhost:8080/abcd/index.html#/ TO http://localhost:8080/Final_Albatross/index.html#/size
没有视图实现,点击指的是 id "size" 和选项卡更改。
肯定 angular 将此点击视为新的视图调用。请帮帮我!!
我的 JS 文件:
mainAngular.controller('ProductDetailController', function($scope, $routeParams) {
$scope.prod_Id = $routeParams.prodId;
$scope.selectTab = function(tabName) {
alert(tabName);
$scope.selectedTab = tabName;
alert($scope.selectedTab);
}
});
虽然我已经使用 "target="_self" 实现了它,但我想以 angular 的方式实现它。
在 Angular 中使用锚链接需要 target="_self"
。
https://docs.angularjs.org/guide/$位置
<ul>
<li><a href="#linktoroute">Link</a></li>
<li><a href="#anchor" target="_self">Anchor</a></li>
</ul>
忘记 jQuery、DOM 处理此类问题的方法。使用 angular 方式。
在AngularJS中,单点真理就是模型。视图(即 HTML)只是该模型的表示,当模型更改时会自动更改。
所以,您需要一个选定的标签。将其添加到模型中:
$scope.selectedTab = 'details';
您希望能够更改选中的选项卡。就这么简单
$scope.selectTab = function(tabName) {
$scope.selectedTab = tabName;
}
并且您希望视图反映模型值:
<ul class="nav nav-tabs">
<li class="{active: selectedTab === 'details'}"><a href ng-click="selectTab('details'}">Details</a></li>
<li class="{active: selectedTab === 'size'}"><a href ng-click="selectTab('size'}">Size</a></li>
</ul>