gpt4 book ai didi

javascript - 从父级访问 Angular 1.x 组件属性

转载 作者:行者123 更新时间:2023-11-28 01:17:02 25 4
gpt4 key购买 nike

我创建了一个 Angular 1.x 星级组件。要求组件有多个实例,因此需要不同的评级值。

但是我想不出从组件中读取 starCount 变量的方法。我尝试浏览文档,尝试绑定(bind)属性,但无济于事。

这只需要 Vue.js 中的 v-model 属性,但我找不到像这样的 angular 属性。

var app = angular.module('app', []);
app.component('star', {
template: `<ul class="star">
<li class="fa" ng-class="$ctrl.starCount >= 1 ? 'fa-star' : 'fa-star-o'" ng-click="$ctrl.starCount=1" />
<li class="fa" ng-class="$ctrl.starCount >= 2 ? 'fa-star' : 'fa-star-o'" ng-click="$ctrl.starCount=2" />
<li class="fa" ng-class="$ctrl.starCount >= 3 ? 'fa-star' : 'fa-star-o'" ng-click="$ctrl.starCount=3" />
<li class="fa" ng-class="$ctrl.starCount >= 4 ? 'fa-star' : 'fa-star-o'" ng-click="$ctrl.starCount=4" />
<li class="fa" ng-class="$ctrl.starCount >= 5 ? 'fa-star' : 'fa-star-o'" ng-click="$ctrl.starCount=5" />
</ul>`,
controller: function () {
this.starCount = 0;
}
});

完整代码和演示在这里: https://codepen.io/anon/pen/RBqYoM

最佳答案

您必须向配置添加绑定(bind)才能将数据传递给组件:

controller: ...,
bindings: {
starCount: '<'
}

// in your html
<star star-count="3"></star>

不要忘记删除 this.starCount = 0;

关于javascript - 从父级访问 Angular 1.x 组件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51761626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com