如何获取angularjs中锚标签的id?
How to get id of the anchor tag in angularjs?
您好,我正在开发 Angularjs 应用程序。我有动态生成的锚标记。在锚标记中,我只绑定 img。所以基于点击的 img src 我想要一些计算。
<div class="language">
<a href="#">
<img ng-src="images/{{ lang === 'ar-sa' ? 'arabic.png' : 'en-english-language-browser-function-512.png' }}" />
</a>
</div>
这是我的控制器代码。
if ($scope.lang === 'ar-sa')
{
$translate.use('de_AR');
}
else
{
$translate.use('de_EN');
}
每当我点击 img 时,我都想在控制器中获取该 img 名称。这样我就可以应用一些计算,比如如果使用单击 arabic.png 然后我可以将页面转换为阿拉伯语。任何帮助,将不胜感激。谢谢。
您需要做的是添加一个更改控制器语言的功能:
$scope.lang = null; // Default language
$scope.changeLanguage = function() {
$scope.lang = $scope.lang == 'de_AR' ? 'de_EN' : 'de_AR'; // Change the language based on the current selected
$translate.use($scope.lang);
}
$scope.changeLanguage(); // Set language when the controller loads
接下来,在你看来,你只需要调用这个函数:
<div class="language">
<a href="#" ng-click="changeLanguage()">
<img ng-src="images/{{ lang === 'de_AR' ? 'arabic.png' : 'en-english-language-browser-function-512.png' }}" />
</a>
</div>
作为替代方案,您也可以传递所选语言:
$scope.changeLanguage = function( lang ) {
$scope.lang = lang;
$translate.use($scope.lang);
}
$scope.changeLanguage('de_AR');
并且在视图中:
<div class="language">
<a href="#" ng-click="changeLanguage(lang === 'de_AR' ? 'de_EN' : 'de_AR')">
<img ng-src="images/{{ lang === 'de_AR' ? 'arabic.png' : 'en-english-language-browser-function-512.png' }}" />
</a>
</div>
编辑:
由于您的默认语言是 ,您可以执行以下操作:
$scope.changeLanguage = function( lang ) {
$scope.lang = lang === 'ar-sa' ? 'de_AR' : 'de_EN';
$translate.use($scope.lang);
}
$scope.changeLanguage($window.navigator.language || $window.navigator.userLanguage);
查看:
<div class="language">
<a href="#" ng-click="changeLanguage(lang === 'de_AR' ? 'de_EN' : 'ar-sa')">
<img ng-src="images/{{ lang === 'de_AR' ? 'arabic.png' : 'en-english-language-browser-function-512.png' }}" />
</a>
</div>
我在上面的示例中所做的是检查语言(即 $window.navigator.language || $window.navigator.userLanguage
的返回值)是否等于 'ar-sa'
,如果是,则将语言设置为其匹配的 i18n代码。
您好,我正在开发 Angularjs 应用程序。我有动态生成的锚标记。在锚标记中,我只绑定 img。所以基于点击的 img src 我想要一些计算。
<div class="language">
<a href="#">
<img ng-src="images/{{ lang === 'ar-sa' ? 'arabic.png' : 'en-english-language-browser-function-512.png' }}" />
</a>
</div>
这是我的控制器代码。
if ($scope.lang === 'ar-sa')
{
$translate.use('de_AR');
}
else
{
$translate.use('de_EN');
}
每当我点击 img 时,我都想在控制器中获取该 img 名称。这样我就可以应用一些计算,比如如果使用单击 arabic.png 然后我可以将页面转换为阿拉伯语。任何帮助,将不胜感激。谢谢。
您需要做的是添加一个更改控制器语言的功能:
$scope.lang = null; // Default language
$scope.changeLanguage = function() {
$scope.lang = $scope.lang == 'de_AR' ? 'de_EN' : 'de_AR'; // Change the language based on the current selected
$translate.use($scope.lang);
}
$scope.changeLanguage(); // Set language when the controller loads
接下来,在你看来,你只需要调用这个函数:
<div class="language">
<a href="#" ng-click="changeLanguage()">
<img ng-src="images/{{ lang === 'de_AR' ? 'arabic.png' : 'en-english-language-browser-function-512.png' }}" />
</a>
</div>
作为替代方案,您也可以传递所选语言:
$scope.changeLanguage = function( lang ) {
$scope.lang = lang;
$translate.use($scope.lang);
}
$scope.changeLanguage('de_AR');
并且在视图中:
<div class="language">
<a href="#" ng-click="changeLanguage(lang === 'de_AR' ? 'de_EN' : 'de_AR')">
<img ng-src="images/{{ lang === 'de_AR' ? 'arabic.png' : 'en-english-language-browser-function-512.png' }}" />
</a>
</div>
编辑:
由于您的默认语言是
$scope.changeLanguage = function( lang ) {
$scope.lang = lang === 'ar-sa' ? 'de_AR' : 'de_EN';
$translate.use($scope.lang);
}
$scope.changeLanguage($window.navigator.language || $window.navigator.userLanguage);
查看:
<div class="language">
<a href="#" ng-click="changeLanguage(lang === 'de_AR' ? 'de_EN' : 'ar-sa')">
<img ng-src="images/{{ lang === 'de_AR' ? 'arabic.png' : 'en-english-language-browser-function-512.png' }}" />
</a>
</div>
我在上面的示例中所做的是检查语言(即 $window.navigator.language || $window.navigator.userLanguage
的返回值)是否等于 'ar-sa'
,如果是,则将语言设置为其匹配的 i18n代码。