【发布时间】:2014-10-21 06:59:02
【问题描述】:
我有一个 php 文件,其中包含一堆有角度的东西,当我直接包含它时它工作正常,但是一旦我通过 $http 包含该 php 文件,如下所示:
$http.get('include/step'+step+'.php').
success(function(data, status, headers, config) {
$("#tab_"+step).html(data);
});
它停止工作,然后我可以看到以下内容:{{category.title}} 等显示为文本而不是获取其值。
我从 Angular 开始,我试图让 Angular 识别通过 ajax 响应或 $http 响应添加的代码。
我也试过了
但我得到了这个 angular.bootstrap(data);
Error: [ng:areq] Argument 'eventCatCtrl' is not a function, got undefined
eventCatCtrl 是我在通过 $http 生成的文件中的第一个控制器。
我也做了这个 angular.bootstrap(data, ['eventApp']); eventApp 是我的主模块的名称。 仅供参考,所有这些 http 的东西都在一个 div 中完成,如果重要的话,我已经在 body 上定义了我的模块。
应更多代码的要求:
函数由此触发:
<div class="form-group progress-tracker__buttons" ng-controller="StepChange">
<input type="button" class="btn btn-primary btn-save" value="Save">
<input type="button" class="btn btn-default btn-next disabled" value="Next" ng-click="changeStep($event)">
<div class="last-saved">Last saved: Not saved yet</div>
</div>
这是我的模块、控制器和函数:
var eventApp = angular.module('eventApp', []);
eventApp.controller('StepChange', function($scope, $http){
$scope.changeStep = function($event){
$http.get('include/step2.php').
success(function(data, status, headers, config) {
$("#tab_2").html(data);
});
};
});
在我的 step2.php 文件中,我有这部分:
<div class="panel-group form-group sortable" id="catAccordion" ng-controller="eventCatCtrl">
<div ng-repeat="category in categories.list">
<p>{{category.title}}</p>
</div>
</div>
我有这样的工厂:
eventApp.factory('EventCategories', function () {
var EventCategories = {};
EventCategories.list = [
{
name: "Robert Downey Jr.",
character: "Tony Stark / Iron Man"
},
{
name: "Chris Evans",
character: "Steve Rogers / Captain America"
}
];
return EventCategories;
});
我有一个这样的控制器用于那个工厂:
eventApp.controller("eventCatCtrl", function($scope, EventCategories){
$scope.categories = EventCategories;
});
【问题讨论】:
-
请提供更多代码。
-
@cbass 请看一下,如果您需要其他任何东西,请告诉我。
-
您需要
$http.get()一个实际的 Web 端点,而不是包含。角度无法处理 php 文件。
标签: php ajax angularjs angularjs-scope angularjs-ng-repeat