在angular引导之后添加angular属性
Adding angular attributes after angular bootstraps
我有一个部分的HTML,用户将在控制,但我需要给某些元素一个ng-click。我知道html的一般结构将是每个页面的ul和li,并且ul内部的li和其他每个子页面的li。但这将完全由用户控制,我不能直接触摸HTML。
说某人创建了:
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#blog">Blog</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
,我想把它变成:
<ul>
<li><a ng-click="$event.preventDefault(); openPage($event.target)" href="#home">Home</a></li>
<li><a ng-click="$event.preventDefault(); openPage($event.target)" href="#about">About</a></li>
<li><a ng-click="$event.preventDefault(); openPage($event.target)" href="#blog">Blog</a></li>
<li><a ng-click="$event.preventDefault(); openPage($event.target)" href="#contact">Contact</a></li>
</ul>
在页面已经加载并且angular已经启动之后,我该怎么做呢?我知道,通常情况下,解决方案是创建一个指令的锚标记,取代他们,但我需要锚标记中的文本保持任何用户设置,我需要href保持不变,我需要它只影响本节内的锚标记。它不能影响父ul标记之外的任何锚标记。
简单地说,是否有类似的使用jquery添加属性?:
$('ul').find('a').attr('ng-click', '$event.preventDefault(); openPage($event.target)');
这样行吗?http://plnkr.co/edit/vxowNUAnbQSkuiHpNvYZ
让href属性为空可以防止angular中出现默认值。
应用程序启动后,你可以在你的应用程序中运行jQuery的同一点在你的模型中填充"options"集合
你可能会对这篇文章感兴趣:如何在jQuery背景下思考Angular。
你通常不想重写ng-click之类的东西。这通常表明一个设计问题,在大多数情况下不会成功。
你可能想要的是一个指令,例如,class="menu-link"
:
angular.module('foomodule', [])
.directive('menuLink', {
restrict: 'C', // C for class
link: function (scope, element, attributes, parentController) {
element.on('click', function () {
scope.openPage(element.attr('href'));
return false;
});
}
});
相关文章:
- 如何使用Angular动态添加iframe-src
- 如何在Angular中的表的所有单元格中添加链接
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 通过jQuery添加ng样式属性,angular不更新
- 向动态生成的DOM添加Angular自定义指令
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- 向Angular作用域对象添加对象数组——TypeError
- Angular js-尚未添加PUT请求到服务的URL
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- 将日期添加到日期输入字段Angular
- 向通过ReST JSON调用生成的Angular Javascript对象添加方法
- 使用jQuery或Angular动态添加或删除表行
- 使用Angular添加EventListener并将其删除
- Angular 添加模拟 JSON 数据
- 如何使用wiredep将bread.bridge.angular添加到我的构建过程中
- Angular-添加无限滚动模块后的未知提供程序
- 在没有JQuery的情况下为Angular添加砌体
- 如何将angular添加到express.js页面?
- 使用angular添加图像到lightSlider
- Angular-添加输入's的值,其中包含来自$scope的数字