在开始之前,我大约在1周前开始学习Angular,不要害怕将其恢复为基础。
你是怎么做到的?在app.component.ts中,我有一个标准数组,该数组必须可由多个子组件访问。
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
masterArray = ['Create', 'Foo', 'Bar'];
}
Run Code Online (Sandbox Code Playgroud)
如何将其拉入由角度cli生成的子组件中。例如,我需要在导航组件中使用它来生成导航面板。
<li *ngFor = "let i of masterArray; let ind = index">
<a>{{i}}</a>
</li>
Run Code Online (Sandbox Code Playgroud) 尝试使用findOneAndUpdate()更改 MongoDB 中数组内的对象。我不清楚 mongoDB 的 nodeJS 驱动程序的文档。该文件如下所示:
{
_id:ObjectID(),
some: string,
body: string,
steps:[
[0]{name: "foo", state:"Q"},
[1]{name: "bar", state:"Q"},
[n]{name: "fooBar", state:"Q"}
]
}
Run Code Online (Sandbox Code Playgroud)
我需要查找步骤名称 (foo) 并将其状态设置为 P(进行中),然后在任务已执行时将其状态设置为 C(完成),或者在错误时设置为 E。
然后我还需要获取下一步的名称。
查找文档并不难,因为我已经有了 _id,这是更新部分让我知道的。
编辑:这是我到目前为止
async msg => {
const _id = msg.content.toString();
const id = new objectId(_id);
logger.info(`${name} consumer - Recieved new task, fetching details`, {
id
});
try {
const jobDetails = await collection.findOneAndUpdate(
{ _id: id },
{
/**/
}
);
await consumer.task(jobDetails);
} catch …Run Code Online (Sandbox Code Playgroud) 所以简而言之,我正在尝试使用一个可以从两个数组中的一个调用的array.map,具体取决于if语句.有点像
class App extends Component {
state = {
foo: [
{number:"0"},
{number:"1"},
{number:"2"},
{number:"3"}
],
bar: [
{number:"9"},
{number:"8"},
{number:"7"},
{number:"6"}
],
fooBar: "foo"
}
test = () => {
if(this.state.fooBar === "foo") {
return this.state.foo
} else {
return this.state.bar
}
}
onChangeFooBar = () = {
this.setstate({fooBar: bar})
}
render(){
<Button onClick={this.onChangeFooBar}>Set to bar</Button>
<p>Here are some lines of text</p>
{this.test.map(list => <p> {list.text} </p>)}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它会抛出一个错误,说它不是一个函数.是什么我不来这里?我几乎可以肯定我的问题在于.test
所以我有一些状态是一个看起来像这样的对象
object:{
foo: Array[3]
bar: Array[6]
}
Run Code Online (Sandbox Code Playgroud)
并且对象内部的条目数量可能会发生变化,它可能有3个数组,它可能有10个.它需要是动态的我必须显示那些作为计数(在饼图中)接受数据看起来像这样,数据是JSX标记内的prop
data:{[
{x:foo, y:foo.length},
{x:bar, y:bar.length}
]}
Run Code Online (Sandbox Code Playgroud)
x输出作为名称,y输出作为数字(不是百分比,lib为我工作)
我试过在这里使用一些例子,例如这个帖子,但我只是没有得到它
ES6语法的首选项如果你感兴趣的话,我正在使用Victory for my graphing lib
javascript ×3
reactjs ×2
angular ×1
angular-cli ×1
arrays ×1
mongodb ×1
node.js ×1
typescript ×1