如何知道哪些" a"单击标签? AngularJs Way

时间:2016-04-23 08:33:00

标签: javascript angularjs

所以我已经搜索了这个问题,但他们的答案并没有解决我的问题,所以我创建了一个新主题。我想获得一个标签中的文本,即(独奏/合作伙伴)。

这就是我的site.html中的内容:

<a href="#/app/partnerlistt" style="text-decoration:none">
     <div class="va-container">
          <div class="col va-btn"><b>partner</b></div>
          </div>
</a>


 <a href="#/app/sololist" style="text-decoration:none">
        <div class="va-container">
         <div class="col va-btn"><b>solo</b></div>
          </div>
 </a>

这是我的controller.js中的内容:

var encodedString = 'action=' +
    encodeURIComponent("Showsomething") +
    '&position=' +
    encodeURIComponent("solo/partner");//this is where my clicked a tag should be passed

3 个答案:

答案 0 :(得分:2)

在你的HTML中:

<a ng-click="go('partner')"  style="text-decoration:none">
</a>
<a ng-click="go('solo')" style="text-decoration:none">
</a>

在您的控制器中:

$scope.go = function(goTo) {
  // do the hash redirect
  window.location.hash = '#/app/' + goTo + 'list';
  // Here you can use the goTo parameter
  var encodedString = 'action=' +
    encodeURIComponent("Showsomething") 
    + '&position=' +
    encodeURIComponent(goTo);
}

更好的是当您动态加载链接时:

控制器:

$scope.links = ['solo', 'partner'];

HTML:

<div ng-repeat="link in links">
  <a ng-click="go(link)">
    {{link}}
  </a>
</a>

答案 1 :(得分:1)

更好地使用Angular $state

提供的$state.go('state');服务

定义您的路线(使用SPA时建议)。不要在AngularJS中使用硬编码哈希。

angular
  .module('myApp')
  .config(function ($stateProvider) {
      $stateProvider
      .state('partner', {
        url:'/app/partnerlistt',
        templateUrl: 'views/modals/partner.html'
      })
      .state('solo',{
        url:'/app/sololist',
        templateUrl: 'views/modals/solo.html'
      });
});

将合作伙伴和独奏html放在文件夹目录views/modals

HTML:

<a ng-click="navigateTo('partner')"  style="text-decoration:none">
</a>
<a ng-click="navigateTo('solo')" style="text-decoration:none">
</a>

对应控制器:注入$state服务

$scope.navigateTo = function(to) {
  $state.go(to);
  var encodedString = 'action=' +
    encodeURIComponent("Showsomething") 
    + '&position=' +
    encodeURIComponent(to);
};

答案 2 :(得分:0)

您可以通过代码中的微小更改来完成它

<a ng-click="goTo('#/app/partnerlistt', 'partner');" style="text-decoration:none">
         <div class="va-container">
              <div class="col va-btn"><b>partner</b></div>
              </div>
    </a>


     <a  ng-click="goTo('#/app/sololist', 'solo');" style="text-decoration:none">
            <div class="va-container">
             <div class="col va-btn"><b>solo</b></div>
              </div>
     </a>

JS

$scope.goTo = funtion(url, type){
   console.log(type);
   $window.location.href= url;
};