Angularjs 角度转换不起作用。在appendChild中添加html时视图未更新
我已经附上了plunker链接 这是我的htmlAngularjs 角度转换不起作用。在appendChild中添加html时视图未更新,angularjs,translate,angular-translate,ng-bind,Angularjs,Translate,Angular Translate,Ng Bind,我已经附上了plunker链接 这是我的html <!doctype html> <html ng-app="myApp"> <head> <meta charset="utf-8"> <title>AngularJS Plunker</title> <script> document.write('<base href="' + document.location + '" />
<!doctype html>
<html ng-app="myApp">
<head>
<meta charset="utf-8">
<title>AngularJS Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-cookies.js"></script>
<script src="https://rawgithub.com/angular-translate/bower-angular-translate/master/angular-translate.min.js"></script>
<script src="https://rawgithub.com/angular-translate/bower-angular-translate-storage-cookie/master/angular-translate-storage-cookie.js"></script>
<script src="https://rawgithub.com/angular-translate/bower-angular-translate-loader-static-files/master/angular-translate-loader-static-files.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="someController">
<div id="parent">
<h1>{{'HEADLINE' | translate }}</h1>
<button ng-click="switchLanguage('de_DE')" translate="LANG_DE_DE"></button>
<button ng-click="switchLanguage('en_US')" translate="LANG_EN_US"></button>
<button id="myButton" class="float-right submit-button" ng-click="showDiv()" >Click here</button>
</div>
<script type="text/javascript">
</script>
<div id="hello">
<span name="new" id="newpage" style="display: none;">
<h1 class="xx">{{'HELLO'| translate }}</h1>
</span>
</div>
</body>
</html>
lang_de_de.json
{
"HEADLINE": "Überschrift",
"LANG_DE_DE": "Sprache: Deutsch",
"LANG_EN_US": "Sprache: Englisch",
"HELLO" :"Neue Seite"
}
lang_en_US.json
{
"HEADLINE": "Headline!",
"LANG_DE_DE": "Lang: German",
"LANG_EN_US": "Lang: English",
"HELLO" :"New page"
}
在这个新页面中,当我更改语言时,文本(showdiv函数)不会更新。
Plunker链接使用ng repeat,不要在控制器内操作DOM 通过以下方式更改您的跨度:
<span ng-repeat="div in divs">
<h1 class="xx">{{'NEWPAGE'| translate }}</h1>
</span>
更新了plunker
你需要清楚地以一种更有角度的方式思考。不要用jquery和dom操作代码污染控制器。这不是angularjs的目的
重复阅读ng上的文档
<span ng-repeat="div in divs">
<h1 class="xx">{{'NEWPAGE'| translate }}</h1>
</span>
scope.divs = [];
$scope.showDiv = function()
{
$scope.divs.push({});
}