小编Dav*_*lez的帖子

组件输入属性上的双向数据绑定

我试图在angular2上做一些工作,我无法找到关于这种行为的东西.

我有一个实现自定义组件的应用程序,如下所示:

import {Component,Input} from 'angular2/core'
    @Component({
      selector:'my-comp',
      template:`<input type="text" style="text-align:center; [(ngModel)]="inputText"> <p>{{inputText}}</p>`
    })

    export class MyComp{
      @Input() inputText : string;
    }
Run Code Online (Sandbox Code Playgroud)

我试图inputText从我的组件对我的变量进行双向数据绑定,如下所示:

<my-comp [(inputText)]="testString"></my-comp>
Run Code Online (Sandbox Code Playgroud)

其中testStringMyApp.ts包含字符串的变量.我希望在用户修改testString变量时inputText修改变量.

这是一个带有简单示例代码的Plunker:https://plnkr.co/edit/zQiCQ3hxSSjCmhWJMJph?p = preview

有没有办法简化这项工作?我是否必须在我的自定义组件和重载函数上实现Angular2类,以使其像ngModel?我是否必须创建一个类型的inputTextChanged变量,EventEmitter当它被更改时发出我的数据,并执行以下操作:

<my-comp [inputText]="testString" (inputTextChanged)="testString = $event;"></my-comp>
Run Code Online (Sandbox Code Playgroud)

先感谢您.

data-binding bidirectional angular

11
推荐指数
2
解决办法
9389
查看次数

Angular2使用onmouseup事件会覆盖本机行为

我目前正在使用angular2和typescript开发一个应用程序.我需要使用范围滑块输入来发送控件,我需要知道何时使用输入,即当用户拖动它时.

我尝试使用"mouseup"和"mousedown"事件的组合.单击滑块时,触发"mousedown"事件并将"isActive"变量设置为true,然后当用户停止使用滑块时,将触发"mouseup"事件并将"isActive"变量设置为false.

<input type="range" (mousedown)="isActive = true" (mouseup)="isActive = false" />
Run Code Online (Sandbox Code Playgroud)

这部分工作得很好但是我在"mouseup"事件上设置动作的事实看起来会覆盖原生动作并且永远不会释放滑块.

这是一个简单的plunker显示行为:https://plnkr.co/edit/PJqFp7dFREog9rE7Shdx

是不是我没有实现必要的功能来使这项工作?或者它是来自angular2的"bug",它不会传播事件并只是覆盖它们?

先感谢您.

events input range angular

7
推荐指数
1
解决办法
2万
查看次数

使用Angular2以编程方式创建Html局部变量

我需要知道是否有一种以编程方式创建HTML本地变量的方法.

我正在开发一个Web应用程序,我有一个NgFor循环,我希望能够为NgFor创建的每个子元素分配一个局部变量.

即:

<div *ngFor="#elt of eltList" >
    <span #setLocalVariable(elt.title)></span>
</div>

setLocalVariable(_title : string){
    let var = do some stuff to _title;
    return var;
}
Run Code Online (Sandbox Code Playgroud)

上面的例子显示了我想要完成的事情,显然不起作用.有没有办法实现这个目标?

先感谢您.

编辑:

看到我得到的答案后(我感谢所有花时间阅读我的问题并尝试回答的人)我会再解释一下为什么我会这样想.

我将使用:loadIntoLocation()来自DynamicComponentLoader.该函数作为第3个参数得到一个引用锚点的字符串(即:#test在html元素中).这就是为什么我需要创建名称等于我的名称的局部变量elt.title.

html local-variables angular

5
推荐指数
1
解决办法
2万
查看次数

在另一个中使用QAbstractListModel

尝试使用Qt/QML为我的应用程序开发数据模型时遇到问题.我已经使用过QAbstractListModel能够将海关数据模型从C++传递到QML,它就像一个简单模型的魅力(例如基于字符串和bool的模型).

但现在我需要建立一个更难的模型,我想知道是否有可能QAbstractListModel在另一个内部使用QAbstractListModel.

让我解释一下自己.我有一个名为model_Abuild 的数据模型:

model_A.h:

#ifndef MODEL_A_H
#define MODEL_A_H

#include <QAbstractListModel>
#include <QList>

class model_A
{
public:
   model_A(const QString& _string1,const QString& _string2,const bool& _bool);
   QString m_string1;
   QString m_string2;
   bool m_bool;
};
class abstractmodel_A : QAbstractListModel
{
   Q_OBJECT
public:
   (here I implemented all the roles functions and overloaded fonctions needed for the model to work)
private:
   QList<model_A> m_model_A;
};        
#endif // ANSWERS_H
Run Code Online (Sandbox Code Playgroud)

然后我需要在另一个模型中使用该模型model_B:

model_B.h:

#ifndef MODEL_B_H
#define MODEL_B_H

#include <QAbstractListModel>
#include …
Run Code Online (Sandbox Code Playgroud)

c++ qt datamodel qml qabstractlistmodel

3
推荐指数
1
解决办法
771
查看次数