如何使用transclude无角指令模板?

<button command="saveCmd">{{saveText}}</button>

命令指令没有任何模板 - 它的行为指令。 但我需要使用transclude: true显示{{saveText}}

我可以创建状仿真模板, template: "<div ng-transclude></div>"但我不知道,如果里面的按钮格是所有浏览器的有效HTML。

我还可以使用属性来定义标题,例如<button title="saveText"...但我的问题是关于NG-transclude没有模板。 可能吗?

提前致谢。

更新:

一个新的'隔离'的范围scope: {}里面的指令就是为什么{{SAVETEXT}}默认情况下不坚持的理由。

--------------解决方案-------------

可以使一个指令没有控制器,和不分离的范围。 在链接功能我有时做这样的事情:

.directive('toggle', function ($parse) {
return {
/* We can't use an isolated scope in this directive, because it happens
* all the time that you need to put a toggle on an element that uses the scope:
* <span toggle="boolVar" ng-class="{active: boolVar}">{{someVar}}</span>
*
* Transclusion can be an option to make the {{someVar}} work,
* but the ng-class will use the isolated scope for this directive
* (if we'd use the isolated scope, which we don't)
*/
link: function (scope, $element, attrs) {
// use a $parse getter/setter, because toggle can contain a
// complicated expression
var getter = $parse(attrs.toggle);
var setter = getter.assign;

$element.on('click', function () {
scope.$apply(function () {
setter(scope, !getter(scope));
});
});
}
};
});

也许这$解析招有助于您的命令成立...

分类:JavaScript的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.606 (s). 10 q(s)