2015-06-01 48 views
1

我創建的小提琴在下面給出......問題在於,即使在我的dynamicContent指令中的$ compile之後,json對象的模板中的val也沒有被更新。有人可以幫忙嗎?AngularJs:顯示使用指令創建的表內的json對象的數據

http://jsfiddle.net/hyvz75cz

var app = angular.module('app', []); 

app.controller('fieldController', function ($scope) { 

$scope.columns = [ 
    { label: "First Name", name: "Fname", template: "<div>{{val}}</div>" }, 
    { label: "Last Name", name: "Lname", template: "<div>{{val}}</div>" }, 
    { label: "Email", name: "Email", template: "<div>{{val}}</div>" } 
]; 

$scope.data = [ 
    { Fname: "Tom", Lname: "Assassin", Email: "[email protected]" }, 
    { Fname: "chris", Lname: "Unkown", Email: "[email protected]" }, 
    { Fname: "troy", Lname: "forever", Email: "[email protected]" }, 
    { Fname: "bead", Lname: "trash", Email: "[email protected]" }, 
]; 
}); 

app.directive('dynamicHeader', function ($compile) { 
return { 

    restrict: 'E', 
    replace: true, 
    scope: { model : '='}, 
    template: '<div>{{model.label}}</div>', 
    link: function (scope, element) { 
     $compile(element)(scope); 
    } 
}; 
}); 

app.directive('dynamicContent', function ($compile) { 
return { 

    restrict: 'E', 
    replace: true, 
    scope: { 
     model: '=', 
     val: '=' 
    }, 
    template: '<div>{{model}}</div>', 
    link: function (scope, element) { 
     $compile(element)(scope); 
    } 
}; 
}); 
+0

你能請張貼的問題(相關)的代碼。 – PSL

+0

這比其他原文更適用於其他人;只是在這裏使用代碼片段就可以更清楚地知道你的問題是一個指令,標題更改也是有幫助的。 – Claies

回答

2

我糾正你的plunker例如:

http://jsfiddle.net/hyvz75cz/5/

scope: { 
     model: '=', 
     val: '=' 
    }, 
    template: '', 
    link: function (scope, element) { 
     element.append(scope.model); 
     $compile(element.contents())(scope); 
    } 
+0

@Claies很抱歉打擾你,但我糾正了他的例子,因爲他在那裏,所以我沒有必要解釋什麼是失蹤,我很確定我幫他 –

+0

好吧@Claies去然後點擊我不介意的負面按鈕,但是我發現很多答案沒有閱讀所寫的內容,只是點擊小提琴示例,但不用擔心,這是一個免費社區,隨時可以做你想做的事 –

+0

謝謝!它解決了這個問題:) @Claies你是對的,但是如果沒有外部鏈接,這個問題就不能被構建。請建議我如何以一種有益於他人的方式改善我的問題。 – Tom

相關問題