Javascript AngularJS ng单击不适用于动态附加的剑道panelbar
我有一个剑道ui面板条,我正在动态地向其中添加项目,我没有得到这些项目的ng click事件 下面是我正在获取项目并将其附加到panelbarJavascript AngularJS ng单击不适用于动态附加的剑道panelbar,javascript,angularjs,kendo-ui,Javascript,Angularjs,Kendo Ui,我有一个剑道ui面板条,我正在动态地向其中添加项目,我没有得到这些项目的ng click事件 下面是我正在获取项目并将其附加到panelbar $http.get("/people").success(function (data) { var arr = []; if (data.success) { $.each(data.result, function (k, v) { var item = { te
$http.get("/people").success(function (data) {
var arr = [];
if (data.success) {
$.each(data.result, function (k, v) {
var item = {
text: v.name,
items: [{
text: 'email: ' + v.email
}, {
text: '<div><button class="k-button" ng-click="edit()">Edit</button></div>',
encoded: false
}]
};
arr.push(item);
});
usersPanelBar.append(arr, usersPanelBar.element.children("li:last"));
}
});
您需要使用服务将您添加的小片段绑定到范围。
您可以在这里找到一个示例-如何向您的用户spanelbar添加类似的内容
<div ng-repeat="item in items">
Email: {{item.email}}
<div><button ng-click="edit()">Edit</button></div>
</div>
它有意义吗?app.controller('TestController',function($compile,$scope){
app.controller('TestController', function ($compile, $scope) {
$scope.AppendDetailSuites = function () {
var html = 'button type="button" id="btn" ng-click="LoadContiguousSuite(' + SuiteId + ');" class="btn btn-white btn-sm" >Edit</button> ';
var updatedhtml = $compile(html)($scope);
$("#tbDetailContiguous").append(updatedhtml);
}
}
$scope.AppendDetailSuites=函数(){
var html='button type=“button”id=“btn”ng click=“LoadContiguousSuite('+SuiteId+);“class=“btn btn white btn sm”>Edit';
var updatedhtml=$compile(html)($scope);
$(“#tbdetailcontinuous”).append(更新的HTML);
}
}
这里有一个链接指向一个正在工作的plunker:没问题,公认的答案解决了您的问题,但我认为我的答案是“如何动态地向模板中添加内容”是的。但另一个解决方案很适合角度剑道场景。:)
function(data) {
if(data.success) {
$scope.items = data.result;
}
});
app.controller('TestController', function ($compile, $scope) {
$scope.AppendDetailSuites = function () {
var html = 'button type="button" id="btn" ng-click="LoadContiguousSuite(' + SuiteId + ');" class="btn btn-white btn-sm" >Edit</button> ';
var updatedhtml = $compile(html)($scope);
$("#tbDetailContiguous").append(updatedhtml);
}
}