如何让 AngularJS 选取在 JavaScript 中创建的动态绑定

How to get AngularJS to pick up dynamic bindings created in JavaScript

本文关键字:创建 动态绑定 JavaScript AngularJS 选取      更新时间:2023-09-26

我的代码的一部分通过以下方式更改路由:

$state.go('^.DfDocuments', {
    requestId: rowData.RequestID
});

但是,这不允许我右键单击链接并执行"在新选项卡中打开"。

我想以编程方式设置一个带有 ui-sref 属性的标签。它们被设置在jQuery数据表的行中。即

<a data-ui-sref="DfDocuments{requestId: 12155}">Asdf</a>

但是,由于这是来自JavaScript(后期绑定?),因此它没有做任何事情。

我怎样才能让 Angular 注意到这些?我相信我需要$compile或(更好的)$link,但不确定。我可以在没有指令的情况下做这些吗?

$scope.GetMRender = function (columnId) {
    switch (columnId) {
    case 'Docs':
        return function(data, type, row) {
            return '<a ui-sref="^DfDocuments{requestId: ' + row.RequestID + '}">test</a>';
        };
    return null;
}

我想你正在寻找$scope.apply()。看http://jimhoskins.com/2012/12/17/angularjs-and-apply.html