私はapp-menuitemとapp-menuの2つの角度成分を持っています。 app-menuには子としてのapp-menuitemのリストがありますが、transcludeはありません。Agular 1.5では、子コンポーネントから親コンポーネントのhtmlをコンパイルする方法は?
のApp-メニュー項目
angular.module('app')
.component('appMenuitem', {
transclude: false,
controller: menuitemController,
require: {
parent: '^?app-menu'
},
bindings: {
...
groupradio: '@',
isactive: '<', // bind to active (just init)
...
},
templateUrl: 'angular/components/simple/menuitem/menuitem.html'
});
function menuitemController($rootScope, $scope, $element, $attrs) {
var ctrl = this;
//Default values
ctrl.$onInit = function() {
if(ctrl.isactive){
ctrl.active = true;
}else{
ctrl.active = false;
}
ctrl.selectRadioItem = function(){
if(!ctrl.active){
var currentMenu = this.parent.items.menu;
var levelMenu = this.parent.items.level;
for(var i = 0; i < currentMenu.length; i++){
var currentMenuItem = currentMenu[i];
if(currentMenuItem.groupradio === ctrl.groupradio){
if(currentMenuItem.index === ctrl.index){
currentMenuItem.isactive = true;
}else{
currentMenuItem.isactive = false;
}
currentMenu[i] = currentMenuItem;
}
}
this.parent.items.menu = currentMenu;
console.dir(this.parent); //<-- updates are visible but the html did not change.
}
...
あなたは、このコードの最後に見ることができるように、私はこの子コンポーネントアプリ-メニュー項目から親コンポーネントアプリメニューを変更するために管理しますが、HTMLは再びコンパイルされることはありませんこの場合。誰かがアイデアを持っていますか?
を引き起こす可能性がありますか? – Clint
私は "バインディング"属性を使用しています...あなたはどういう意味ですか? –
メニューアイテムのhtmlを投稿してもよろしいですか? – Clint