Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular2 directives 使用ngFor阅读angular-2的更多信息 {{project.title},{{project.location}} {{project.info} Amaneties:{{project.Amaneties} 较少的 更多_Angular2 Directives - Fatal编程技术网

Angular2 directives 使用ngFor阅读angular-2的更多信息 {{project.title},{{project.location}} {{project.info} Amaneties:{{project.Amaneties} 较少的 更多

Angular2 directives 使用ngFor阅读angular-2的更多信息 {{project.title},{{project.location}} {{project.info} Amaneties:{{project.Amaneties} 较少的 更多,angular2-directives,Angular2 Directives,我正在尝试阅读更多关于大文本的内容,但这不适用于带有*ngs的指令。对于解决此问题的任何选项,我认为问题在于id属性中的空格。我能在*年内完成这项工作。试试这个id=“阅读更多{{i}}”。 这是我的密码: <div class="row col-sm-12 col-xs-12"> <h4><strong>{{project.title}}, {{project.location}}</strong></h4>

我正在尝试阅读更多关于大文本的内容,但这不适用于带有*ngs的指令。对于解决此问题的任何选项,我认为问题在于id属性中的空格。我能在*年内完成这项工作。试试这个
id=“阅读更多{{i}}”
。 这是我的密码:

<div class="row col-sm-12 col-xs-12">
      <h4><strong>{{project.title}}, {{project.location}}</strong></h4>
      <h5>{{project.info}}</h5>
      <h6 #textContent id="read-more {{ i }} ">Amaneties: {{project.amaneties}} </h6>
      <div class="read-more-link">
        <a readMore [readMore-length]="100" [readMore-element]="textContent">
              <span class="less">Less <i class="fa fa-angle-left" aria-hidden="true"></i></span>
              <span class="more">More <i class="fa fa-angle-right" aria-hidden="true"></i></span>
           </a>
      </div>

{{post.name}

继续阅读
我已经删除了“减少阅读…”功能,因为我的应用程序不需要它

我复制了ngx read more库的代码,并对其进行了一些修改。基本上是定制指令,而不是安装包

readmore.directive.ts

<div *ngFor="let post of list;let i = index" [attr.data-index]="i">
<div class="postDescription">
        <p #textContent1 id="read-more{{i}}">{{post.name}}</p>
        <div class="readMore read-more-link">
          <a readMore [readMore-length]="350"
             [readMore-element]="textContent1">
            <span class="more">Continue reading</span></a>
        </div>
      </div>
</div>
import{Directive,Input,ElementRef,AfterViewInit,OnChanges}来自“@angular/core”;
@指示({
选择器:“[readMore]”
})
导出类ReadMoreDirective在ViewInit、OnChanges之后实现{
@输入('readMore-length')私有maxLength:number;
@输入('readMore-element')私有元素更改:HTMLElement;
私有文本:字符串;
私有隐藏切换:布尔值=true;
私有文本:字符串;
private iscollected:boolean=true;
构造函数(私有el:ElementRef){}
/**
*@doc
*/
公共ngAfterViewInit(){
this.text=this.elementChange.innerHTML;
this.toggleView();
如果(!this.hideToggle){
this.el.nativeElement.classList.remove('hidden');
}否则{
this.el.nativeElement.classList.add('hidden');
}
this.el.nativeElement.addEventListener('click',(事件:MouseEvent)=>{
event.preventDefault();
this.toggleView();
});
}
/**
*@doc
*/
公共ngOnChanges(){
如果(此.text){
this.toggleView();
}
}
/**
*Toogle视图-是否为全文
*/
private-toggleView():void{
这是determineView();
this.isCollapsed=!this.isCollapsed;
如果(此.isCollapsed){
this.el.nativeElement.querySelector('.more').style.display=“无”;
//this.el.nativeElement.querySelector('.less').style.display=“inherit”;
}否则{
this.el.nativeElement.querySelector('.more').style.display=“继承”;
//this.el.nativeElement.querySelector('.less').style.display=“无”;
}
}
/**
*确定视图
*/
私有determineView():void{
const _elementChange=document.getElementById(this.elementChange.id);

if(this.text.length我认为问题在于id属性中的空格。我可以在*ngFor中执行此操作。请尝试此
id=“readmore{{I}}”
。 这是我的密码:

<div class="row col-sm-12 col-xs-12">
      <h4><strong>{{project.title}}, {{project.location}}</strong></h4>
      <h5>{{project.info}}</h5>
      <h6 #textContent id="read-more {{ i }} ">Amaneties: {{project.amaneties}} </h6>
      <div class="read-more-link">
        <a readMore [readMore-length]="100" [readMore-element]="textContent">
              <span class="less">Less <i class="fa fa-angle-left" aria-hidden="true"></i></span>
              <span class="more">More <i class="fa fa-angle-right" aria-hidden="true"></i></span>
           </a>
      </div>

{{post.name}

继续阅读
我已经删除了“减少阅读…”功能,因为我的应用程序不需要它

我复制了ngx read more库的代码,并对其进行了一些修改。基本上是制作了一个自定义指令,而不是安装包

readmore.directive.ts

<div *ngFor="let post of list;let i = index" [attr.data-index]="i">
<div class="postDescription">
        <p #textContent1 id="read-more{{i}}">{{post.name}}</p>
        <div class="readMore read-more-link">
          <a readMore [readMore-length]="350"
             [readMore-element]="textContent1">
            <span class="more">Continue reading</span></a>
        </div>
      </div>
</div>
import{Directive,Input,ElementRef,AfterViewInit,OnChanges}来自“@angular/core”;
@指示({
选择器:“[readMore]”
})
导出类ReadMoreDirective在ViewInit、OnChanges之后实现{
@输入('readMore-length')私有maxLength:number;
@输入('readMore-element')私有元素更改:HTMLElement;
私有文本:字符串;
私有隐藏切换:布尔值=true;
私有文本:字符串;
private iscollected:boolean=true;
构造函数(私有el:ElementRef){}
/**
*@doc
*/
公共ngAfterViewInit(){
this.text=this.elementChange.innerHTML;
this.toggleView();
如果(!this.hideToggle){
this.el.nativeElement.classList.remove('hidden');
}否则{
this.el.nativeElement.classList.add('hidden');
}
this.el.nativeElement.addEventListener('click',(事件:MouseEvent)=>{
event.preventDefault();
this.toggleView();
});
}
/**
*@doc
*/
公共ngOnChanges(){
如果(此.text){
this.toggleView();
}
}
/**
*Toogle视图-是否为全文
*/
private-toggleView():void{
这是determineView();
this.isCollapsed=!this.isCollapsed;
如果(此.isCollapsed){
this.el.nativeElement.querySelector('.more').style.display=“无”;
//this.el.nativeElement.querySelector('.less').style.display=“inherit”;
}否则{
this.el.nativeElement.querySelector('.more').style.display=“继承”;
//this.el.nativeElement.querySelector('.less').style.display=“无”;
}
}
/**
*确定视图
*/
私有determineView():void{
const _elementChange=document.getElementById(this.elementChange.id);

如果(this.text.length你找到这个问题的解决方案了吗?如果你有答案,请你把它贴出来。不,我仍然不能解决这个问题。你找到这个问题的解决方案了吗?如果你有答案,请把它贴出来。不,我仍然不能solve@RaghavendraAjegaonkar你到底犯了什么错误?不管怎样,给我一些是时候为它创建一个plunkr了,我会给你一个工作演示。@RaghavendraAjegaonkar你到底得到了什么错误?不管怎样,给我一些时间为它创建一个plunkr,我会给你一个工作演示。