免責聲明:將角度放在Extjs面板內不是我的選擇。我有一些需要這樣的業務需求,所以請不要這樣做,「你不應該這樣做」的答案。Extjs面板內部的角度
我正在用extjs 6.0.1編寫一個移動webapp。出於各種原因,我需要在我的extjs應用程序中使用angular。我的第一次嘗試,只是顯示一個Ext面板,把角的標記在HTML的配置,這樣的:
this._angularPanel = Ext.create('Ext.Panel', {
height: '100%',
width: '100%',
cls: 'angularPanel',
html:
'<div ng-app="">'+
'<p class="angTest">Name : <input type="text" ng-model="name"></p>'+
'<h1>Hello {{name}}</h1>'+
'</div>'
});
我也已經包括在頁面頂部的腳本:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.min.js"></script>
然而,它只是解析它像普通的老HTML在我的面板上,所以結果是這樣的:
我一直在使用像第一個模板也試過是:
this._angularPanel = Ext.create('Ext.Panel', {
height: '100%',
width: '100%',
cls: 'angularPanel',
tpl: [
'<div ng-app="">'+
'<p class="angTest">Name : <input type="text" ng-model="name"></p>'+
'<h1>Hello {{name}}</h1>'+
'</div>'
],
data: {}
});
在這種情況下,模板認爲名稱是內線的模板,使有道理的,因爲它在括號內的參數,所以畫面看起來像這個:
有什麼建議嗎?
編輯:
現在也已經嘗試手動自舉它:
this._angularPanel = Ext.create('Ext.Panel', {
height: '100%',
width: '100%',
cls: 'angularPanel',
html:
'<div ng-controller="MyController"> '+
'Hello {{greetMe}}! ' +
'</div> '+
'<script src="http://code.angularjs.org/snapshot/angular.js"></script> '+
'<script> '+
'angular.module("myApp", []).controller("MyController", ["$scope", function ($scope) { '+
'$scope.greetMe = "World"; '+
'}]); '+
'angular.element(function() { '+
'angular.bootstrap(document, ["myApp"]); '+
'}); '+
'</script>'
});
還不行。我得到:
您好{{greetMe}}
代替:
的Hello World
試過這個,似乎沒有工作。檢查新的編輯。 – Slims
想通了,看起來是我的答案。 – Slims