我创建了两个角度模块(导航和翻译)保存到两个不同的文件中,我想在我的 index.php 中同时使用。我的理解是每个 html 页面只能运行一个模块/应用程序。
(当我单独使用它们时,这两个应用程序都运行良好)
PS:我试图将我的两个模块包含在<html>
标签中而不是两个不同的标签<div>
中,因为“myApp2”用于翻译所有页面文本,“myApp”用于导航并且它不包含控制器。(我的两个应用程序/模块没有遇到特定的<div>
)
这是我的文件的内容:
翻译.js
//my Json structure for translation is located before this code
var app2 = angular.module('myApp2', ['pascalprecht.translate']);
app2.config(['$translateProvider', function ($translateProvider) {
// add translation tables
$translateProvider.translations('en', translationsEN);
$translateProvider.translations('fr', translationsFR);
$translateProvider.preferredLanguage('en');
$translateProvider.fallbackLanguage('en');
}]);
app2.controller('Ctrl', ['$translate', '$scope', function ($translate, $scope) {
$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};
}]);
导航映射器.js
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when("/", {
title: "Home",
description: "MyHome",
templateUrl : "../pages/home.php"
})
.when("/about-us/partners", {
title: "Partners",
description: "partners",
templateUrl : "../pages/about-us/partners.php"
})
.when("/contact-us", {
title: "Contact Us",
description: "contact cs",
templateUrl : "../pages/contact-us.php"
});
});
//Displaying dynamically the page title and change the meta description
app.run(['$rootScope', function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
$rootScope.title = current.$$route.title;
$rootScope.description = current.$$route.description;
});
}]);
我想在同一页面中运行我的两个模块/应用程序,例如:
索引.php
<html ng-app="myApp" ng-app="myApp2" ng-controller="Ctrl" lang="en">
但一次只能运行一次,例如:
<html ng-app="myApp2" ng-controller="Ctrl" lang="en">
或者:
<html ng-app="myApp" lang="en">