我正在使用AngularJS和WordPress进行一些测试,但我似乎无法弄清楚如何让ng-view与WP一起工作。我对WP / php的了解非常有限,在尝试做我想做的事情之前我应该做更多关于这些的教程(我打算在解决这个问题后再这样做)。
我的主题中没有文件夹。这是我的代码:
header.php
<!DOCTYPE html>
<html <?php language_attributes(); ?> ng-app="myTestApp">
<head>
<title>My Test Theme</title>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>">
<?php wp_head(); ?>
</head>
<body>
<p>header</p>
的index.php
<?php get_header(); ?>
<div ng-controller="homeController">
<a href="#home">Home</a>
<a href="#my_page">My page</a>
<div ng-view></div>
</div>
<?php get_footer(); ?>
footer.php
<p>footer</p>
<?php wp_footer(); ?>
</body>
</html>
app.js
var myTestApp = angular.module('myTestApp', ['ngRoute']);
myTestApp.config(function($routeProvider){
$routeProvider
.when('home', {
templateUrl: 'home.php',
controller: 'homeController'
})
.when('my_page', {
templateUrl: 'my_page.php',
controller: 'koncertyController'
});
});
myTestApp.controller('homeController', function($scope){
});
myTestApp.controller('my_pageController', function($scope){
});
的functions.php
<?php
function my_test_theme_enqueue_scripts() {
// enqueue jQuery and AngularJS
wp_register_script('angular-core', 'https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.js', array(), null, false);
wp_enqueue_script('angular-route', '//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular-route.min.js', array('angular-core'), null, false);
wp_register_script('angular-app', get_bloginfo('template_directory').'/app.js', array('angular-core'), null, false);
// enqueue all scripts
wp_enqueue_script('angular-core');
wp_enqueue_script('angular-route');
wp_enqueue_script('angular-app');
wp_enqueue_script('angular-directives');
}
add_action('wp_enqueue_scripts', 'my_test_theme_enqueue_scripts');
?>
我认为问题出在functions.php中。谢谢!
答案 0 :(得分:-1)
我相信你的问题依赖于php文件,因为php文件在服务器端生成html。由于Angularjs是一个客户端框架,因此无法为您工作。