在編寫指令時,我最終在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