AngularJS指令,类似于rails的helper
AngularJS directive similar to rails helper
说到angular
,我是一个新手,刚刚开始使用它。我来自rails,我非常喜欢rails helper这个特性。基本上我可以这样做:
<%= my_helper param1: "some value", param2: "some other value" do %>
<div>
This is some html that will get wrapped in html defined in the helper.
</div>
<% end %>
称为my_helper
的助手将捕获&block
并将其放入一些额外的html中,并将解析为如下内容:
<div class="added-by-helper" data-params="some params from my helper">
<span>Added by my_helper</span>
<div>
This is some html that will get wrapped in html defined in the helper.
</div>
<span>Other content from my_helper...</span>
</div>
我很确定这可以在angular中完成,但我不知道怎么做。我在某个地方读到$transclude
可能有帮助,但我不知道如何做到这一点。
如何在angularjs
中做到这一点?
你完全正确,这就是transclude所做的。
下面是一个简单的指令,可以添加一些内容:
var app = angular.module('plunker', []);
app.directive('exampleDirective', function() {
return {
transclude: true,
restrict: 'EA',
template: '<div class="added-by-helper"><p>Added by helper</p><div ng-transclude></div></div>',
replace: true
};
});
它们的关键部分是模板内部div上的ng-transclude
指令,它是已经定义的内容将被放置的占位符。
视图如下:
<example-directive>
<p>extra content</p>
</example-directive>
,它呈现如下:
<div class="added-by-helper">
<p>Added by helper</p>
<div ng-transclude="">
<p class="ng-scope">extra content</p>
</div>
</div>
可以随意摆弄柱塞;
相关文章:
- 如何从rails中的代码中删除新行( )
- Rails File_field最大堆栈大小
- angularjs+rails应用程序中未显示模板
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- Rails 3.2 js.erb文件转义js
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- Jquery:代码在rails中的页面加载时未执行
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Rails/Javascript链接到用于切换多个元素的函数
- 在Rails中更新Div,而不更改更新请求后的视图
- Jquery append oly获取循环Rails中的最后一个elemen
- 通过rails中的Ajax在控制器B的每个视图中渲染控制器a的视图
- 使用主干网和rails的静态页面路由
- 将JavaScript变量保存到Rails模型
- Rails:如何向用户预加载消息
- AngularJS指令,类似于rails的helper
- Calling Rails Helper from Javascript
- 从Rails helper调用JS函数
- ruby on rails-预编译时在javascript资产中找不到Route helper方法
- 如何添加“data-main”?属性设置为使用rails javascript helper的脚本标签