Json AngularJS:动态加载从数据库检索的HTML标记
我使用Json AngularJS:动态加载从数据库检索的HTML标记,json,angularjs,factory,ngroute,Json,Angularjs,Factory,Ngroute,我使用factory从JSON文件获取数据: appService.factory('svr', ['$resource', function($resource) { return $resource('data/:pageName.json', {}, {query:{method:'GET', isArray:true}}); }]); 并在控制器中访问它: appController.controller('requirementCtrl', ['$scope', 'svr',
factory
从JSON文件获取数据:
appService.factory('svr', ['$resource', function($resource) {
return $resource('data/:pageName.json', {}, {query:{method:'GET', isArray:true}});
}]);
并在控制器中访问它:
appController.controller('requirementCtrl', ['$scope', 'svr', function($scope, svr){
$scope.ques = svr.query({pageName:'question'});
}]);
JSON文件中的数据包含标签、四个选项和一个类似于类型复选框的值。我必须使用这些数据将其格式化为HTML标记
我发现一种方法是在controller
中创建一个HTML标记,并使用ng bind HTML
将其绑定到div
。指令不能像我所实现的那样工作ngRoute
最好的方法是什么?我认为解决方案是“编译”元素,如:
$compile(element.contents())(scope);
其他可能的解决方案(Ben Nadel):可能是您需要ng include
。请展示您尝试过的解决方案,并指出失败的地方。为什么不在模板中静态设置HTML,然后使用svr.query
的结果设置$scope
变量,以便更新?您甚至可以使用$scope.ready=false
(加载完成时设置为true
)将其隐藏,并在模板中使用ng show
?我可以有许多复选框,因此如何对变量数据使用静态模板ng repeat
,以及使用$scope
变量来确定有多少个。我想你是说JSON是一个对象数组?