Javascript Angular指令中的element.html()存在问题
我是个新手。我有一个指令,在linkFunction中,我可以使用属性[“attribute value”]将范围设置为某个值。我希望element.html()提供指令的内部htmlJavascript Angular指令中的element.html()存在问题,javascript,angularjs,Javascript,Angularjs,我是个新手。我有一个指令,在linkFunction中,我可以使用属性[“attribute value”]将范围设置为某个值。我希望element.html()提供指令的内部html .directive("sfGroupbar", function () { var linkFunction = function (scope, element, attributes) { scope.text = element.html(); scope.
.directive("sfGroupbar", function () {
var linkFunction = function (scope, element, attributes) {
scope.text = element.html();
scope.attr = attributes["text"];
};
return {
restrict: 'E',
templateUrl: "controls/groupbar.html",
link: linkFunction,
scope: {}
};
在我看来,我正在使用这样的指令
<sf-groupbar warning="50" error="80" text="Web Server">Some Text</sf-groupbar>
<div ng-controller="groupbarController">
{{text}} <br />
{{attr}}
</div>
一些文本
在groupbar.html中,我使用的代码如下
<sf-groupbar warning="50" error="80" text="Web Server">Some Text</sf-groupbar>
<div ng-controller="groupbarController">
{{text}} <br />
{{attr}}
</div>
{{text}}
{{attr}}
我希望看到“一些文本”和“Web服务器”作为输出。我只得到Web服务器作为输出,而不是“一些文本”,我得到以下作为输出
<div ng-controller="groupbarController">
{{text}} <br />
{{attr}}
</div>
{{text}}
{{attr}}
您需要在范围定义中包含文本
和其他属性,如下所示
scope{text:'='}
并且您可能需要将transclude
选项添加到true
以尝试获取指令中的文本。
我相信您会有兴趣查看文档的这一部分
您必须将指令的
transclude
属性设置为true
,并且必须在template
或templateurl
的HTML元素中包含ng transclude
属性,以生成要呈现的指令的innerHTML
这是根据你的代码制作的打捞器
希望这有帮助