1
这里是我的代码: 我希望它产生一个<textarea>
或<ul>
一个div继scope.current.type
从数据库并设置scope.current.content
在其中。我的自定义指令无法正常工作
但它不工作,我的网页上只是简单的显示<contentDirective></contentDirective>
app.directive("contentDirective", function($compile) {
return {
restrict: 'E',
replace: true,
template: "<div class='new__content__input new__content__input-text'></div>",
link: function(scope, element, attrs) {
if (scope.current.type === 'Text') {
var DOM = "<textarea>" + scope.current.content + "</textarea>";
element.append(node);
} else if (scope.current.type === 'Quote') {
var DOM = "<textarea>" + scope.current.content + "</textarea>";
element.append(node);
} else if (scope.current.type === 'List') {
var ul = "<ul>";
for (var i = 0; i < scope.current.content.length; i++) {
ul += "<li>" + scope.current.content[i] + "</li>";
}
ul += "</ul>";
element.append(ul);
}
}
};
});
而且我的html:
<li ng-repeat="doc in who_u_r" ng-init=" current = doc " class="new__content__input__single clearfix">
<contentDirective></contentDirective>
<li>
非常感谢您的帮助
它的工作原理,谢谢!你有时间解释它吗? –
它非常简单直接,Angular创建的指令是用Javascript实现的,因为不能在名称中使用连字符。在HTML中,为了保持可读性,它们被空格分隔。所以'Javascript中的myCustomDirective'会变成' my-custom-directive>' –
Jhecht
非常感谢。看来我还有很多工作要做。 –