0
我是angularjs的新手,所以可能是我做错了什么。我想要做的是将另一个组件控制器的变量通过标签传递给另一个组件。以下是示例代码。Angularjs 1.6.4:将控制器变量传递给组件标签
,view.template.html专属于后期视图组件:
<ul class="list-group">
<li class="list-group-item">
<h4 class="list-group-item-heading">{{model.post.title}}</h4>
<p class="list-group-item-text">{{model.post.description}}</p>
</li>
</ul>
{{model.post.id}} <!-- getting value here -->
<rating-creator rating-type="1" parent-id="model.post.id"></rating-creator>
等级-creator.component.js:
(function() {
"use strict";
var module = angular.module(__appName);
function controller() {
var model = this;
model.$onInit = function() {
//getting undefined here. Why?
console.log("parent:"+model.parentId);
};
}
module.component("ratingCreator", {
templateUrl: "components/rating-creator/rating-creator.template.html",
bindings: {
ratingType: "<",
parentId: "<"
},
controllerAs: "model",
controller: [controller]
});
}());
为了调试,尝试注入'$ scope'并将其记录到控制台 – cYrixmorten
控制器属性值不应该是数组 – charlietfl
使用[$ onChanges生命周期钩子](https://docs.angularjs。 org/api/ng/service/$ compile#life-cycle-hooks)来查看该值是否在初始化后可用。 – georgeawg