在编写指令时,我最终在JavaScript中编写了(有时很多)html代码。我应该在哪里把我的角度指令的HTML?
我不喜欢在我的javascript文件中有xml。模板化可能会变得非常复杂,大多数标记引擎会将其渲染为一种颜色,并且必须使用'和+。有没有什么好的做法来分离HTML和JavaScript。
这里是它如何看一个示例:
angular.module('ballentines', ['ngStorage']).
directive('fineUploader', function() {
return {
restrict: 'A',
scope: {},
require: '?ngModel',
link: function($scope, element, attributes, ngModel) {
$scope.uploader = new qq.s3.FineUploader({
debug: true,
element: element[0],
request: {
endpoint: 'endpoint',
accessKey: 'accesskey'
},
signature: {
endpoint: '/s3/'
},
iframeSupport: {
localBlankPagePath: '/success.html'
},
retry: {
enableAuto: true // defaults to false
},
text: {
uploadButton: '<p>Upload File</p>'
},
template:
'<div class="qq-uploader">' +
'<p class="qq-upload-drop-area">{dragZoneText}</span></p>' +
'<div class="qq-upload-button btn btn-info">{uploadButtonText}</div>' +
'<span class="qq-drop-processing">{dropProcessingText}</span>' +
'<ul class="qq-upload-list" ></ul>' +
'</div>',
});
}
};
})
你应该推模板到它自己的文件,然后通过templateURL财产加载它。 节省了你很多与这些'+'字符混淆:) – Sprottenwels