我一直在學習有關「new」「Controller as」語法的類型。雖然我發現語法的可讀性更清晰,有時做一個相對簡單的事情,但它會變得更加複雜,例如向Controller添加Directive時。使用「Controller as」語法向控制器添加指令
這個簡單的示例如何用「Controller As」語法完成?
我想是這樣的:
app.directive('myCustomer', myCustomer);
function myCustomer() {
return {
restrict: 'E',
scope:{ customer: '=info'},
//templateUrl: 'my-customer.html',
template:'Name: {{vm.customer.name}} Address: {{vm.customer.address}}',
controller: Controller,
controllerAs: 'vm',
bindToController: true
};
}
我不太得到它,就像常規的「$範圍」語法工作。也許我錯過了一些東西。
注:該示例使用角1.5.5
您的問題正文中的代碼暗示您的指令模板具有相應的控制器,但您的plunker沒有。那麼,哪些是你想要我們看的?如果您的指令模板具有相應的控制器,那麼代碼在哪裏? – jbrown
對不起,我剛剛糾正它。 Plunk是來自Angular官方文檔的一個例子,我試着用[控制器作爲]語法來編寫代碼[John Papa style guide](https://github.com/johnpapa/angular-styleguide/blob/master/a1/ README.md#風格y075)。 – gugol
可能的重複。看到這個問題:http://stackoverflow.com/questions/31857735/using-controlleras-with-a-directive –