小编典典
AngularJS完全是客户端。您可以将PHP放入HTML模板中,但是如果您未将网络服务器配置为将HTML文件解析为PHP,那么您的PHP甚至都不会被解析。
即使这样做,AngularJS也会缓存这些模板,因此它将仅在服务器上“运行”一次。这意味着,如果交换出所涉及的模板,然后在该模板所使用的服务器上更改数据,然后又将其交换回去,则对数据的更新将不会反映在模板中,因为绝对为零这些更新发生在Angular方面。
像@
Jonast92这样的好主意是在他的评论中说,不要将客户端和服务器端的问题混合在一起,并在它们之间进行严格的分隔。在角度应用程序的模板中使用角度模型。而不是这样的:
<?php echo $item->description; ?>
使用角度模型:
{{ item.description }}
如果您需要来自服务器的数据来执行此操作,请使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;
}
}
]);
2020-07-04