Javascript 动态创建指令
我对AngularJS很陌生。我想我已经学习了大部分的基础知识。我想创建一种桌面,桌面上显示的项目通过$http从数据库动态加载。对于项目,我创建了一个指令,用于包装标题和图标的显示。现在我的问题是,我不知道如何动态创建指令实例。我的控制器如下所示:Javascript 动态创建指令,javascript,angularjs,directive,Javascript,Angularjs,Directive,我对AngularJS很陌生。我想我已经学习了大部分的基础知识。我想创建一种桌面,桌面上显示的项目通过$http从数据库动态加载。对于项目,我创建了一个指令,用于包装标题和图标的显示。现在我的问题是,我不知道如何动态创建指令实例。我的控制器如下所示: $scope.loadItems = function () { $http.get('api/StartcenterItems'). success(function (data) { var itemsConta
$scope.loadItems = function () {
$http.get('api/StartcenterItems').
success(function (data) {
var itemsContainer = angular.element(document.querySelector("#itemsContainer"));
for (var i = 0; i < data.length ; ++i) {
itemsContainer.append('<hl-start-center-item title="Test"></hl-start-center-item>');
}
}).
error(function (data) {
alert(data);
});
success(function (data) {
$scope.data = data;
}
}).
$scope.loadItems=函数(){
$http.get('api/StartcenterItems')。
成功(功能(数据){
var itemsContainer=angular.element(document.querySelector(“#itemsContainer”);
对于(变量i=0;i
其中hl start center项是指令。问题是指令的html代码被追加,但它不是通过Angular编译的,也不是通过浏览器显示的。我必须做什么才能使指令正确显示?
如果你需要更多的代码来重现这个问题,请告诉我
谢谢你的建议,
Nicolas我认为这是使用
ngRepeat
指令的好地方
在主HTML中:
<div id="itemsContainer">
<div ng-repeat="item in data >
<hl-start-center-item title="Test"></hl-start-center-item>
</div>
</div>
你能添加指令代码吗?如果你也能添加HTML来了解你是怎么做的,那就更好了this@NicolasR:关于角度基础知识,显然还有很多东西需要学习。最重要的是:它不是jQuery!(你需要
$compile
并链接HTML以实现你想要的,但这是你最小的问题…)@Seminda。感谢您的回复,请参阅我对CaspNZ的评论。谢谢,就这样!!!实际上我是这样使用静态项目数组的。当我切换到动态加载项目时,我不必要地将其更改为我发布的代码。我忘了,$scope.data=data将自动重新编译html。非常舒服。再次感谢。