我試圖從父組分在角1.5Angularjs 1.5嵌套組件綁定
值可以從父母被更新過的值他嵌套孩子組分,但孩子不能編輯它,只顯示它。所以是一個單向綁定'<'對不對?
而且我無法在父組件聲明中傳遞子組件,因爲父組件也會有其他用途。
重點是我的父母組件有共同的數據存儲,但他們 兒童會以不同的方式使用它。
而父母組件會被多次使用,與不同的 孩子,這就是爲什麼我不能通過父母 宣言中的孩子。我需要綁定的信息,自動更新的目的,當 家長更新數據,必須由孩子
HTML
<parent-component ng-transclude>
<child-component name="$ctrl.characters.arya"></child-component>
<child-component name="$ctrl.characters.john"></child-component>
</parent-component>
反映JS
// Parent Component declaration
// /////////////////////////
(function() {
'use strict';
angular
.module('app')
.component("parentComponent", {
transclude: true,
controller: "ParentComponentController",
template:
'<div class="parent-c"></div>'
});
})();
// Parent Component Controller
// /////////////////////////
(function() {
'use strict';
angular
.module('app')
.controller('ParentComponentController', ParentComponentController);
function ParentComponentController() {
var $ctrl = this;
$ctrl.characters = {};
$ctrl.characters.arya = "Arya Stark";
$ctrl.characters.john = "John Snow";
}
})();
//CHILD Component declaration
// /////////////////////////
(function() {
'use strict';
angular
.module('app')
.component("childComponent", {
bindings: {
name: '<'
},
controller: "ChildComponentController",
template:
'<div class="child-c"' +
'<h3>Im a child Component</h3>' +
'<p><strong>Name: </strong>{{$ctrl.name}}</p>' +
'</div>'
});
})();
// CHILD Component Controller
// /////////////////////////
(function() {
'use strict';
angular
.module('app')
.controller('ChildComponentController', ChildComponentController);
function ChildComponentController() {
var $ctrl = this;
}
})();
Check the WORKING SAMPLE on plunkr
要求屬性是爲組件通信,但我試圖用它沒有成功:(在這裏需要一塊光。
你想傳遞一個名稱爲組件(通過綁定)的屬性或由父(通過要求)繼承? – gyc