2017-05-03 39 views
0

我是AngularJS的新手。我想修改該指令的一個Angular指令:如何將「template as function」更改爲「templateUrl」?

當前代碼:

template: function(tElement, tAttrs){ 
     return "<div ..........>"+ 
       "<div>" 

我想改變這樣的:

templateUrl: 'some.html' 

注:我已經複製從模板中的HTML部分代碼和創建文件稱爲'some.html',但它不起作用。

我錯過了什麼?

+0

請解釋什麼是它不工作「的意思。什麼是指令? – estus

回答

1

除非我記錯了,你需要返回一個對象,像這樣:

return { 
     templateUrl: 'some.html' 
    } 

只要你的文件路徑是正確的,那麼你應該去的好。

1
  1. 確保在該指令返回返回一個有效的JSON對象
  2. 確保你只有你的HTML內容的一個根元素 - 即 模板這樣的 -

    <div>...</div> 
    <div>...</div> 
    

不允許你需要有一個根元素這樣的 -

<div> 
    <div>...</div> 
    <div>...</div> 
</div> 
  1. 要將範圍值設置爲html內容使用鏈接並使其可用。

下面是一個指令一個完整簡單的例子,它的HTML

myTestApp.directive('directive', function(configuration) { 
     return { 
     restrict: 'E', 
     templateUrl: 'myContactTemplate.html', 
     link: function(scope, element, attrs) { 
      scope.config = configuration; 
     } 
     }; 
    }); 

HTML

<div>{{config.name}}<br>Version: {{config.age}}</div> 
相關問題