AngularJS 的动态元素 $compile

Dynamic Element with AngualrJS $compile

我正在创建动态按钮并使用 $compile 绑定 ng-click 事件。我在那里添加了两个参数。问题是,如果参数是字符串并且中间有 space,则参数正在拆分。

这是我的 Javascript 代码:

var name 'Demo 1';
var str= 'hello'
var btnhtml = '<button type="button" class="btn btn-primary btn-xs" ng-click=getShops("' + str + '","' + name + '")>View Detail</button>';
temp = $compile(btnhtml)($scope);

生成的 HTML 代码如下所示:

<button type="button" class="btn btn-primary btn-xs ng-scope" ng-click="getData("hello","Demo" 1")>View Detail</button>

我想要的输出是:

<button type="button" class="btn btn-primary btn-xs ng-scope" ng-click="getData("hello","Demo1")>View Detail</button>

我该如何解决这个问题。谢谢

你没有正确转义html

btnhtml = '<button type="button" class="btn btn-primary btn-xs" ng-click="getShops(\'' + str + '\',\'' + name + '\')">View Detail</button>';

我去掉了转义前的双引号"