저는 KO.JS를 사용하고 html 템플릿을 작성하고 있습니다.Knockout.js 템플릿 바인딩 - tinyMCE 함수를 호출하여 미리보기를로드합니다.
html 바인딩에서 미리보기 명령을 호출하여 TinyMCE 미리보기를 표시하려고합니다.
var preview = function (divName) {
var ID = divName
var myEditor = tinyMCE.editors["divName"];
myEditor.execCommand("mcePreview");
}
참고 : 일반적으로
, 이것은 우리가 외부 버튼 클릭에 TinyMCE에 대한 미리보기를 렌더링하는 방법입니다 내가 그렇게 매개 변수로 divName를 전달 TinyMCE에 RTE 여러 된 div 있습니다.
내 문제 영역 :
나는 위의 함수를 사용하여 DIV의 미리보기를 렌더링합니다. 템플릿 스크립트에서 동일한 명령을 호출하려고합니다. 내 내 JS 코드를 작성하는 것이 가능
아닌가 : 또한 아래 스크린 샷에서와 같이 오류가 발생,
<script type="text/html" id="tmplPreviewModal">
// Lots of other bindings go here //
// Below code should bind Tiny MCE RTE Preview to our DIV //
<div data-bind="html : {'tinymce.get('id': 'myTxtArea').execCommand('mcePreview'); '} "></div>
</script>
이 코드 나던 작업 : 아래
내 템플릿 코드 템플릿 바인딩?var ViewModel = function() {
var self = this;
//blah
self.init = function() {
tinyMCE.init({
setup: function(ed) {
ed.onChange.add(function(ed, l) {
self.preview(tinymce.get('id': 'myTxtArea').getContent());
});
};
});
};
self.preview = ko.observable();
};
var vm = new ViewModel();
ko.applyBindings(vm);
vm.init();
<div data-bind="html : preview "></div>
: 당신은 jQuery 플러그인처럼 뷰 모델의 초기화 기능을 사용할 수 있습니다
답변
제안하십시오 : 아래 그림과 같이
나는 심지어 JS 기능 preview
를 호출 시도 How to use jQuery in a Knockout.js Template?
아니면 플러그인 TinyMCE에 녹아웃 결합
init 함수를 사용하는 경우 값을 div에 바인딩하는 방법을 알려주시겠습니까?여기에 HTML 바인딩에 대해 :
나는 내 대답을 바꿨다. 당신은 HTML을 얻고 DIV를 설정하고 싶습니까? 미리보기를 위해? – ArDumez
예, KO.JS에 템플릿을 만들었습니다. 이 템플릿은 미리보기를 렌더링합니다. 그것은 많은 TinyMCE RTE와 드롭 다운 선택된 값, 제목 등등과 같은 다른 정보를 포함 할 것입니다. TinyMCE RTE Preview를 제외하고 내보기 모델에서 모든 것을 표시 할 수 있습니다. – user2598808
"html : {'tinymce.get('id': 'myTxtArea').execCommand('mcePreview'); '} "
를 사용할 수는 구문 넌센스입니다. 오른쪽은 문자열 값이어야하지만 해시와 같은 curlies가 있지만 키 대신 작은 따옴표가있는 함수 호출을 래핑하는 문자열이 있습니다. (: 또한 콜론해야 쉼표 업데이트) 그래서 당신은
"html : tinymce.get('id', 'myTxtArea').execCommand('mcePreview')"
즉 원하는
내 단순한 추측은 중괄호, 가장 바깥 쪽 따옴표, 그리고 세미콜론, 속하지 않는다는 것입니다 그 execCommand
의 결과가 HTML 문자열이면 맞습니다. 하지만 나는 TinyMCE Preview 자체가 DOM을 조작하려고한다고 생각하는데, 이는 사용자 정의 바인딩 처리기가 필요하다는 것을 의미합니다.
나를 고쳐 주셔서 감사합니다. 나는 당신이 제안한 진술을 사용했습니다. 여전히 오류가 발생합니다 : 잡히지 않습니다 SyntaxError : 바인딩을 처리 할 수 없습니다 "template : function() {return {name : 'tmplPreviewModal'}}" 메시지 : 바인딩을 구문 분석 할 수 없습니다. 바인딩 값 : html : tinymce.get ('id': 'myTxtArea'). execCommand ('mcePreview') – user2598808
'get()'호출에서 콜론을 깜빡입니다. 그게 쉼표인가? –
두 번째 빨간색 직사각형에서 ' – madalinivascu
제안 해주십시오! – user2598808