角度指令和属性Don'在控制器内创建和设置时无法工作
Angular directive and attributes Don't work when created and set inside Controller
我有一个指令:
app.directive('toggleText', function () {
return {
restrict: 'A',
link: function (scope, element,attr) {
element.bind('click', function(evt) {
alert('hello');
});
}
};
})
当我把它添加到元素中时,它就起作用了。它会提醒"你好"。
然而,当我试图在我的控制器中创建一个元素并以这种方式添加指令时:
var myElement = document.createElement('div');
var attr = document.createAttribute('toggle-text');
myElement.setAttributeNode(attr);
我可以看到该指令被添加到调试器中的元素中,但它不起作用
尝试添加ng click、ng include、..时出现相同问题。。以及我的控制器中使用"setAttributeNode"的其他角度属性或指令。
不要在控制器内手动进行DOM操作等;angular并不是为了解决这个问题而设计的。相反,请使用$compile
。
类似这样的东西:(控制器代码)
function($scope, $compile) {
var myElement = $compile('<div toggle-text></div>')($scope);
// do stuff with it
}
相关文章:
- 使用Facebook live API创建实时视频对象时的隐私设置
- 在机会不起作用时设置查找值's在潜在客户资格鉴定后创建
- 使用不同的日期格式和区域设置创建时刻
- 如何为通过ng-view指令或ng-controller指令创建的每个新作用域设置侦听器
- 动态设置动态创建的元素的宽度
- 附加'沙箱'属性设置为动态创建的iframe以停止重定向
- 我可以't从通过Ajax创建的select元素中设置值或获取值
- 设置焦点动态创建的文本区域
- 如何设置外部javascript创建的iframe的位置
- 在javascript/angular中创建播放列表(按值复制数组,但按引用设置嵌套对象)
- 如何创建一个组件,我可以设置在 Angular 2 中的属性中获取 URL 数据
- 在页面加载时创建/设置活动的默认链接,但在单击其他链接时删除活动链接
- 角度指令和属性Don'在控制器内创建和设置时无法工作
- 为不在javascript中工作的动态创建类设置属性
- ng设置动画以创建slideIn/slideOut过渡
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- 正在对通过object.create创建的对象设置原型
- 设置'src'img标记使用主干模板动态创建
- Phantomjs-设置创建图像的边框(和颜色)
- 如何在Javascript中设置创建clickTag的变量