gpt4 book ai didi

javascript - 向 div 的内容追加/添加文本和函数

转载 作者:行者123 更新时间:2023-11-30 20:47:22 24 4
gpt4 key购买 nike

我目前正在研究 AngularJS基于应用程序。我正在使用 'pascalprecht.translate'库来创建多语言应用程序。有关这方面的更多信息,请参阅此 link .在创建我的应用程序时,我创建了页面标题的动态切换。此开关从 $routeProvider 中读取路由名称并在 <header> 中添加相应的标题.请参见下面的示例:

// Pages configuration
myApp.run(['$rootScope', '$route', function($rootScope, $route) {
$rootScope.$on('$routeChangeSuccess', function() {

document.title = $route.current.title;
var title = document.getElementsByTagName("title")[0].innerHTML;

var leftSvg = document.getElementById('leftsvg');
var rightSvg = document.getElementById('rightsvg');


// start responsive elements
$("footer").removeClass("hidden-xl-down");
$("#header").removeClass("hidden-xl-down");
$("#leftheaderblock").removeAttr('class');
$("#rightheaderblock").removeAttr('class');
$(".activefooter").removeAttr('class');
$("#homepageback").removeClass("hidden-xl-down");
$("#rightsvg").addClass("hidden-xl-down");
$("#leftsvg").addClass("hidden-xl-down");

$("body").removeAttr('class');
$("body").addClass(title);

if (title === 'login') {
$("footer").addClass("hidden-xl-down");
$("#header").addClass("hidden-xl-down")
}

else if (title === 'productpage') {
$("#homepageback").addClass("hidden-xl-down");
$("#homesvg").addClass("activefooter");
$("#leftheaderblock").addClass("col-55");
$("#rightheaderblock").addClass("col-45");
$('#leftheadertext').text('Alle producten');
$('#rightheadertext').text('Bestelling');
$("#rightsvg").removeClass("hidden-xl-down");
$("#leftsvg").removeClass("hidden-xl-down")

}
});

}]);

html<html>是 index.html 文件中的一些简单的 div。下面您将看到 rightheaderblock 的示例.

<div id="rightheaderblock">
<div class="bc-f3f3f3 justify-content-center toptext d-flex align-items-center headerblock">
<span id="rightheadertext"></span>
</div>
</div>

问题

使用 'pascalprecht.translate'JSON 中提供使用您自己的语言库创建多语言应用程序的可能性格式。请参见下面的示例:

var myApp = angular.module('myApp',['ngRoute','pascalprecht.translate','ngSanitize']);
var mypagetitle = document.getElementsByTagName("title")[0];
myApp.config(function ($routeProvider, $locationProvider, $translateProvider) {
$locationProvider.hashPrefix('');
$routeProvider

.when('/', {
templateUrl: 'views/login_view.html',
title: 'login'
})

.when('/productpage', {
templateUrl: 'views/productpage_view.html',
title: 'productpage'
})

.when('/payorder', {
templateUrl: 'views/payorder_view.html',
title: 'payorder'
});
$translateProvider
.translations('en', {
'Opslaan': 'Save',
'Alle producten': 'All products',
'Bestelling': 'Order',
})
.translations('nl', {
'Opslaan': 'Opslaan',
'Alle producten': 'Alle producten',
'Bestelling': 'Bestelling',
});
$translateProvider.useSanitizeValueStrategy('sanitize');
$translateProvider.preferredLanguage('nl'); // standaard taal bij openen
// configures staticFilesLoader
// configures staticFilesLoader
});

myApp.controller('mainCtrl', function($http, $scope) {
$scope.text = "hi";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div class="main" ng-controller="mainCtrl">
<div id="rightheaderblock">
<div class="bc-f3f3f3 justify-content-center toptext d-flex align-items-center headerblock">
<span id="rightheadertext">
{{text}}
</span>
</div>
</div>
<div class="bodyTests">
<p> {{ "Bestelling" | translate }}
</div>

上面你可以看到一个简单的例子,说明 'tranlate'功能有效。通过添加 | translate到一个字符串并将该字符串定义为 .translations()我能够创建翻译的部分。

回顾// Pages configuration在上面你可以看到我正在使用 if/else检查页面标题并添加 .text() 的语句和 classes到当前页面标题的 div。

我遇到的问题是通过 | translate例如部分{{"bestelling" | translate}}来自 if/else对 View 的声明。所以传递以下行:

$('#rightheadertext').text('Bestelling');

到页面不是问题。但是添加

$('#rightheadertext').text('{{ Bestelling | translate }}');

在 View 中给我完整的字符串:

{{ Bestelling | translate }}

我尝试了多种不同的函数,比如 .val()append() .但似乎都不起作用。我想要的结果是将以下结构添加到 View 中:

{{ "string" | translate // call }}

如果您对我的问题有任何疑问或意见,请在下面的评论中让他们知道。

一如既往,提前致谢!

最佳答案

这个怎么样...

<p> {{ $root.text1 | translate }}</p> 

然后在你的代码中,在 if/else...

if (...) {
$rootScope.text1 = 'Bestelling';
} else {
$rootScope.text1 = 'Opslaan';
}

关于javascript - 向 div 的内容追加/添加文本和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48560489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com