在AngularJS的另一个指令模板中添加动态指令
Adding a dynamic directive inside another directive template in AngularJS
我想在另一个指令模板中添加动态指令。如你所见,我想在指令模板中添加另一个指令如何在那里添加那些动态指令
请帮
return {
restrict: 'AE',
require :'^awkGrid',
templateUrl: 'views/shutter.html',
link : function(scope, element, attr, controllerInstance){
//Set the header
scope.items = [];
angular.forEach(scope.rowData, function(value, key) {
var obj = {
key : key,
value : value
};
template = <country name="'+value.country+'" id="'+key+'"></country>;
scope.items.push(template);
});
};
//Inside shutter.html file
<div data-ng-repeat="item in items" class="ag-row action-row"
ng-class-odd="'ag-row-even'"
ng-class-even="'ag-row-odd'"
ng-class="{'ag-row-selected':$index == selectedRow}"
ng-click="setClickedRow($index,$event)">
<div class="ag-cell">
{{item}} //Not working ,Prinitng the string
<country name="india" id="-1"></country> //Working
</div>
要动态切换出指令的整个模板,你必须将元素的html设置为所需的新模板,然后将元素的内容传递给$compile
以将其与$scope
绑定。
element.html('<h1>Dynamic Content</h1>').show();
$compile(element.contents())($scope);
这些都应该在相关指令的link
函数中定义。
你必须重新编译你的指令。在link函数的末尾添加以下代码:
$compile(element.contents())(scope);
答案在这里
当然,你必须把服务$compile
作为依赖项添加到你的指令中。
相关文章:
- 向动态生成的DOM添加Angular自定义指令
- 添加新联系人的指令
- IntroJS将指令添加到步骤标记
- AngularJs,在没有隔离的情况下将指令属性添加到作用域
- 如何将属性添加到自定义角度指令
- 如何将侦听器添加到 Angular 指令中
- 在页面上添加javascript后呈现指令
- 如何在元素之后将模板片段添加到angular.js中的指令中
- AngularJS:如何从指令添加的元素中删除事件处理程序
- 如何将多个指令添加到单个组件中
- 脚本从指令添加到 dom 不触发
- 向 angularjs 指令添加和编译属性
- 从 AngularJS 中的指令添加指令
- 如何在angular js中向多个ng include指令添加ng include回调
- Angular Js指令添加动态引导程序类
- 如何将项目列表从创建许多选择标记的指令添加到控制器范围
- Angularjs指令添加指令作为属性,并动态绑定它们
- 如何将nq-slider属性指令添加到Angular中含有ng-model的元素中
- AngularJs 工具提示指令 - 添加样式
- AngularJS - 如何向子指令添加功能