我對Angular指令有疑問。以下是我的代碼:自定義/條件操作的角度指令
主控制器&的指令:
<div ng-controller='ShopsController'>
<update-createform shop="shop" action='update()'></update-createform>
</div>
指令JS: (這樣的方向作用將採取 '動作' 輸入參數)
angular.module('app')
.directive('updateCreateform', function(){
return {
templateUrl: '/form.html',
restrict : 'E',
scope: {
shop: '=',
action: '&'
}
}
})
形式.html模板:
<form name="shopForm" ng-submit='action(shopForm.$valid)' novalidate>
<input type='text' name='name' required/>
<input type='text' name='description' required/>
</form>
ShopsContr奧勒有一個方法:
exports.update = function(isValid) {
if (isValid) { /* update the shop*/ }
}
什麼我做的是我傳遞的店鋪數據我從服務器獲取,發送到表單,因此我可以查看和/或更新店鋪信息。
這也是我想使用相同的形式創建店鋪信息。在這種情況下,我只需發送shop = []和action ='create()'。
我的控制器有一個採用參數isValid的更新方法。我不知道如何通過指令shopForm。$有效的外部並將其發送到服務器。
兩個問題:
- 我如何才能的IsValid變量從指示?
- 繼阿里·勒納的NG-書:他說,這是可能做到以下幾點:
http://www.scribd.com/doc/215682987/NG-Book-The-Complete-Book-on-AngularJS-2013
,而不是上面我們使用
<update-createform shop="shop" on-update='update()' on-create='create()'></update-createform>
,並指令「動作」使用指令當店鋪不空時,將更改爲「更新」,否則操作等同於「創建」?我試過他的代碼,但我不能得到它的工作..
任何幫助將不勝感激!
它應該是'<更新店的CreateForm = 「店」 行動='exports.update() 「>更新的CreateForm>'?您是否嘗試過使用指令的鏈接函數並使用console.log來查看正在傳入的「動作」? – james 2014-11-14 18:07:52