我正在尝试在我的 Angular 应用程序中创建一个 Showdown 扩展,它将显示范围变量。我能够很容易地设置它来显示基本范围变量,但现在我想把它放到可以使用结果的地方,除了显示ng-repeat
之外我什么也得不到[[object HTMLUListElement]]
。
到目前为止,这是我的控制器:
app.controller('MyCtrl', ['$scope', '$window', '$compile', function($scope, $window, $compile){
$scope.machines = [
{ abbv: 'DNS', name: 'Did Not Supply' },
{ abbv: 'TDK', name: 'The Dark Knight' },
{ abbv: 'NGG', name: 'No Good Gofers'}
];
$scope.machine = $scope.machines[0];
$scope.machine_list = $compile('<ul><li ng-repeat="m in machines">{{m.abbv}}: {{m.name}}</li></ul>')($scope);
$scope.md = "{{ machine_list }}";
var scopevars = function(converter) {
return [
{ type: 'lang', regex: '{{(.+?)}}', replace: function(match, scope_var){
scope_var = scope_var.trim();
return $scope.$eval(scope_var);
}}
];
};
// Client-side export
$window.Showdown.extensions.scopevars = scopevars;
}]);
Plunkr:到目前为止的代码
我觉得我必须接近,但现在我不知道我是否在完全错误的轨道上,或者它是否是摊牌的事情或角度的事情或什么。