链接后插入javascript
Angular.js Insert javascript after linking
我创建了一个自定义元素指令,它在DOM中插入一个元素,并为该元素添加一些javascript代码。我的代码如下所示:
myDirective:
return {
restrict: 'E',
templateUrl: 'template.html',
scope: {
name: '@name'
},
controller: MyController,
controllerAs: 'vm',
bindToController: true
};
template.html:
<div id="{{vm.name}}" />
<script type="text/javascript">
var plugin = chart.generate({bindTo: '#{{vm.name}}'});
</script>
我的电话:
<my-directive name="test" />
问题是,注入的javascript试图在id为"test"的div中生成一个图表,但失败了,因为在这个阶段,angular还没有插入{{vm.name}}作为元素id。我怎么能分离这个javascript代码,使它得到执行后,角插入元素的id ?我查找了帖子链接方法,但我不确定这是否是正确的方法。
//编辑:澄清:基本上我想创建一个指令,它通过属性(名称)传递参数,并使用此参数将其设置为div的id,并使用一些javascript代码在该div内生成图表。
你需要使用link函数,而且这个模板很简单,所以你可以将它内联。
return {
restrict: 'E',
template: '<div id="{{vm.name}}" />',
scope: {
name: '@name'
},
controller: MyController,
controllerAs: 'vm',
bindToController: true,
link: function(scope, element, attr) {
var plugin = chart.generate({
bindTo: '#{{vm.name}}'
});
}
};
现在我不确定图表是如何工作的,但你应该检查一下,如果你可以给它元素而不是选择器,然后你就不需要模板了。
link: function(scope, element) {
var plugin = chart.generate({
bindTo: element
});
}
相关文章:
- 使用JavaScript插入Access数据库
- 通过mongos和javascript插入数据
- 将javascript插入同一域的不同页面
- 通过 Jquery/Javascript 插入会话值
- JavaScript 插入符号位置
- JavaScript-插入HTML的内容部分
- 通过javascript插入的脚本标记中的函数仍然未定义
- 通过 JavaScript 插入到数据库中
- 使用 Javascript 插入 iFrame
- 将javascript插入html页面的间接方法
- 使用 Javascript 插入 Css(太晚了)
- 使用 JavaScript 插入 HTML
- 如何将Javascript插入Magento
- 将 JavaScript 插入多个现有页面的最佳选择
- PHP 和 JavaScript 插入行并给出提示
- 杂技演员:如何使用Javascript插入简单的文本
- 允许用户将自己的 JavaScript 插入我们的 Web 应用程序会产生哪些安全后果?
- Javascript:插入一个变量作为参数
- JavaScript 插入图像
- 如何使用 Javascript 插入文本框