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