首页 / ANGULAR / 在angular中运行PHP
在angular中运行PHP
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在angular中运行PHP,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1838字,纯文字阅读大概需要3分钟。
内容图文
我正在使用angular在wordpress网站中创建页面过渡.我的网站加载了一个普通的wordpress页面,该页面触发了PHP,并在页面中填充了有角的元素(正文).然后,角度元素使用动画过渡使用3个单独的html页面更改正文内容(因此页眉和页脚不受影响.)
我在单独的html页面中有PHP.我以为PHP会在每个页面进入视图之前触发-但是我想是因为页面是由angular而不是浏览器加载的,这不会发生吗?
<div id="pageone">
<p>This is page 1.</p>
<a href="#page2">Go to page 2 </a><br>
<?php echo ('this php does not work'); ?>
<p>This html is below php</p>
</div>
尽管我使用页面,但相同的概念适用于被引入的div.无论如何,在初始页面加载后使用angular触发了PHP?这有可能吗?
解决方法:
AngularJS完全是客户端.您可以将PHP放入HTML模板中,但是如果您未将网络服务器配置为将HTML文件解析为PHP,那么您的PHP甚至都不会被解析.
即使这样做,AngularJS也会缓存这些模板,因此它将仅在服务器上“运行”一次.这意味着,如果交换出所涉及的模板,然后在该模板所使用的服务器上更改数据,然后又将其交换回去,则对数据的更新将不会反映在模板中,因为绝对为零这些更新发生在Angular方面.
像@ Jonast92这样的好主意在他的评论中说,是尽量不要将客户端和服务器端的问题混合在一起,并在它们之间进行严格的分离.在角度应用程序的模板中使用角度模型.而不是这样的:
<p><?php echo $item->description; ?></p>
使用角度模型:
<p>{{ item.description }}</p>
如果您需要来自服务器的数据来执行此操作,请使Angular服务出去并为您获取数据:
angular.module('app').controller('controller', [
'$scope', 'ItemManager',
function($scope, ItemManager) {
$scope.item = null;
ItemManager.getItem('item-id').then(
function(item) {
$scope.item = item;
}, function() {
console.log('load item failed');
}
);
}
]);
angular.module('app').service('ItemManager', [
'$http', '$q',
function($http, $q) {
var svc = {
getItem: getItem
};
return svc;
function getItem(id) {
var defer = $q.defer();
$http.get('/items/' + id)
.success(function(data) {
defer.resolve(data);
})
.error(function() {
defer.reject();
})
;
return defer.promise;
}
}
]);
内容总结
以上是互联网集市为您收集整理的在angular中运行PHP全部内容,希望文章能够帮你解决在angular中运行PHP所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。