Поэтому я уже искал этот вопрос, но их ответ не помог мне, поэтому я создал новую тему. Я хочу получить текст в теге, т.е. (Соло/партнер).
Это то, что внутри моего 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
Лучше использовать $state
service, предоставляемый Angular $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>
Соответствующий контроллер: Inject $state
service
$scope.navigateTo = function(to) {
$state.go(to);
var encodedString = 'action=' +
encodeURIComponent("Showsomething")
+ '&position=' +
encodeURIComponent(to);
};
В вашем 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>
Вы можете сделать это с небольшими изменениями в вашем коде
<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;
};
myService.getStates()
для получения состояний из сервиса.