Javascript 无法在Angularjs中使用ng bing绑定
尝试使用ng bind在页面上插入HTML内容,如下所示,但无法绑定 脚本:Javascript 无法在Angularjs中使用ng bing绑定,javascript,angularjs,angularjs-directive,angularjs-ng-route,ng-bind,Javascript,Angularjs,Angularjs Directive,Angularjs Ng Route,Ng Bind,尝试使用ng bind在页面上插入HTML内容,如下所示,但无法绑定 脚本: SS_Mod_App.controller("SS_Ctrl",/*"$interpolate",*/ function ($scope, $http, $location, $window, $sce/*, $interpolate*/) { $scope.dates = getWeekDates(); //alert(dates); Result: 3/30,3/31, ...... $scope.div
SS_Mod_App.controller("SS_Ctrl",/*"$interpolate",*/ function ($scope, $http, $location, $window, $sce/*, $interpolate*/) {
$scope.dates = getWeekDates(); //alert(dates); Result: 3/30,3/31, ......
$scope.divHtmlVar = $sce.trustAsHtml(' <table class="GeneratedTable"> < tbody > <tr> <td rowspan="2">Cases</td> <td rowspan="2">Total</td> <td colspan="3">Mon</td>{{ dates[0] }} <td colspan="3">Tue</td>{{ dates[1] }} <td colspan="3">Wed</td> {{ dates[2] }} <td colspan="3">Thu</td> {{ dates[3] }} <td colspan="3">Fri</td> {{ dates[4] }} <td colspan="3">Sat</td> {{ dates[5] }} <td colspan="3">Sun</td>{{ dates[6] }} </tr> </tbody > </table >');
});
SS_Mod_App.controller(“SS_Ctrl”、/*“$interpolate”、*/function($scope、$http、$location、$window、$sce/*,$interpolate*/){
$scope.dates=getWeekDates();//警报(日期);结果:3/30,3/31。。。。。。
$scope.divHtmlVar=$sce.trustAsHtml('Cases Total Mon{{dates[0]}Tue{dates[1]}Wed{dates[2]}Thu{dates[3]}Fri{dates[4]}Sat{{dates[5]}Sun{dates[6]}');
});
HTML页面:
<body>
<div ng-app="SS_ng_App" ng-controller="SS_Ctrl">
<div ng-bind-html="divHtmlVar"></div>
</div>
</body>
无法在HTML{{dates[0]}{{{dates[1]}}中绑定这些
页面中的结果如下:
< tbody > {{ dates[0] }} {{ dates[1] }} {{ dates[2] }} {{ dates[3] }} {{ dates[4] }} {{ dates[5] }} {{ dates[6] }}
Cases Total Mon Tue Wed Thu Fri Sat Sun
{{dates[0]}{{dates[1]}{{dates[2]}{{dates[3]}{{dates[4]}{{{dates[5]}{{{dates[6]}
个案总数星期一星期二星期三星期四星期六星期日
处理这种情况的一个好方法是通过指令
:
.directive('render', function($compile) {
return {
restrict: 'A',
replace: true,
link: function (scope, element, attrs) {
scope.$watch(attrs.render, function(html) {
element[0].innerHTML = html;
$compile(element.contents())(scope);
});
}
};
您需要使用$compile
来呈现angularjs
表达式处理这种情况的好方法是通过指令
:
.directive('render', function($compile) {
return {
restrict: 'A',
replace: true,
link: function (scope, element, attrs) {
scope.$watch(attrs.render, function(html) {
element[0].innerHTML = html;
$compile(element.contents())(scope);
});
}
};
您需要使用$compile
来渲染angularjs
表达式,但为什么要这样做,而不是将divHtmlVar
中的内容直接放在模板中?但为什么要这样做,而不是将divHtmlVar
中的内容直接放在模板中?