1)指令kendo-menu
从其内容中引导kendo菜单。如果您使用的是template
,则全部都可以,因为在kendo引导菜单之前创建了子html结构。如果您使用的是templateUrl
,则模板将被加载,如果数据到达角度,则会更新指令中的dom。但此时kendo-menu
指令已准备好引导菜单,所以它不会意识到在dom上产生的任何角度变化。如何解决这个问题:就像您一样 - 只能使用内联模板或在使用模板之前将模板放到templateCache中。但是这需要对代码进行很多更改。
2)我不太清楚你的问题在哪里。在您的控制器
<ul kendo-menu>
<li ng-repeat="item in menuData.dataSource">
<label>{{item.text}}</label>
<ul>
<li ng-click="menuSelected(subitem)" ng-repeat="subitem in item.items/>
<label>{{subitem.text}}</label>
</li>
</ul>
</li>
</ul>
你有机会选择的项目:不过你可以注册一个ng-click
功能这样
$scope.menuSelected = function(selected){
console.log(selected);
}
这里工作PLUNKR
如果填充菜单中的数据源可以指定菜单中的选择功能数据:
$scope.menuData = {
select: function(e) {
console.log(e);
console.log(e.item.textContent);
},
dataSource: [ ... ] };
e.item.textContent
是您在dataSource
中提供的值为text
。
即使使用模板,您的plunker链接也不会显示视图。 –
这很奇怪......我确实看到它。这里是一个类似的例子,在js Bin中,但这里的模板url根本不起作用... http://jsbin.com/uDiLAQIn/45/edit –