2016-04-28 83 views
1

我是新角形formly。我想爲按鈕創建一個自定義模板。下面給出的代碼snippten以供參考。角形formly按鈕自定義類型

<script type="text/ng-template" id="button.html"> 
    <md-button class={{to.class}} ng-click={{to.method}}>{{to.label}}</md-button> 
</script> 

問題是formly給我一個錯誤在處理NG-點擊指令,因爲指令{{to.method}}尚未評估。

難道不可以這樣做嗎?這些棱角分明的例子都沒有將按鈕作爲模板,在形式上做這件事在概念上是錯誤的嗎?

編輯:

下面是相應的自定義模板和JSON:

我創建了一個自定義模板的按鈕:

<script type="text/ng-template" id="button.html"> 
    <md-button class={{to.class}} ng-click="{{to.method}}">{{to.label}}</md-button> 
</script> 

和相應的JSON是:

{ 
type: 'button', 
templateOptions: { 
    label: 'Create Item', 
    class: 'md-raised md-primary', 
    method: 'createItem' 
} 

具體錯誤如下:

Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 2 of the expression [{{to.method}}] starting at [{to.method}}].

+1

您在哪裏定義了「to」對象。發佈完整的代碼。如果可能的話發佈一些小提琴鏈接,以便爲您的問題獲得更快的結果。 –

+0

@StarkButtowski我在問題中添加了代碼。請檢查一下。 – Rohit

回答

1

我有類似的問題,這是我做了什麼來解決它。發佈可能有相同問題的其他人,因爲按鈕上的文檔似乎很少。

注:您不需要對角屬性

設置類型大括號:

formlyConfig.setType({ 
 
    name: 'button', 
 
    template: '<button class="{{to.class}}" ng-click="to.method()">{{to.label}}</button>' 
 
});

然後在那裏你將它添加到您的表格:

{ 
 
    key: 'myBtn', 
 
    type: 'button', 
 
    templateOptions: { 
 
    class: 'btn-primary', 
 
    label: 'My Test Button', 
 
    method: function() { 
 
    alert('test'); 
 
    console.log('test'); 
 
    } 
 
    } 
 
}

乾杯!

+0

如何將新類型整合到我的代碼中? 即formlyConfig.setType ..... –