angular 指令渲染_angularjs的ng-repeat指令内如果嵌套自定义指令,内容渲染错误,...

本文探讨了在AngularJS项目中使用自定义指令实现组件拖拽功能时遇到的布局异常问题。当尝试将拖拽功能添加到组件时,原本应在不同区域显示的内容错误地集中显示在了最后一个区域。文章详细记录了问题现象,并寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

component_list.tpl

ng-repeat="component_type in component_list"

ng-class="{active:$first,in:$first}"

id="{{component_type.id}}">

component.tpl

controller="{{component.controller}}" draggable="true">

%7B%7Bcomponent.image%7D%7D

directive

// se-component-list

Base.directive('seComponentList', function() {

return {

restrict: 'E',

replace: true,

templateUrl: STATIC_PATH + 'js/seditor/tpls/base.component_list.tpl',

controller: ['$scope', 'InitBaseData', function($scope, InitBaseData) {

InitBaseData.getComponentList().success(function(data) {

if (data && data.code == 0) {

$scope.component_list = data.component_list;

} else {

alert('网络异常,请稍后重试');

}

}).error(function(err) {

alert('网络异常,请稍后重试');

});

}]

};

});

// se-component

Base.directive('seComponent', function() {

return {

restrict: 'A',

replace: true,

templateUrl: STATIC_PATH + 'js/seditor/tpls/base.component.tpl',

link: function(scope, element, attr) {

element.bind('drop', function(event) {

event.preventDefault();

console.log('drop');

});

}

}

});

问题描述,如果把component.tpl的内容直接替换,输出是正常的,但是我需要为component添加拖拽事件。目前的问题是,本来应该显示在其他boxes里面的内容都集中显示在最后一个boxes里面了,小弟刚学angular没多久,问题可能比较肤浅,但却是搜不到答案,还请讲解下,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值