2016-04-08 8 views
0

Ich versuche, einen Elementwert über {{}} zu aktualisieren. Hier ist mein HTML.Der AngularJs-Bindungswert wird nicht angezeigt.

<section id="eee" ng-controller="DiagCtrl" <input type="hidden" id="lst" name = "lst" value="{{process_list(lst)}}">> 
    <h2><a href="#eee">EEE</a></h2> 
    <div id="paper" ></div> 
    <div id="tt" ng-model="toolTip" ><span >{{toolTip}}</span > </div> 
    </section> 

bei Mouseover-Ereignis rufen Sie den Controller.

paper.on('cell:mouseover', 
    function(cellView, evt) { 
     var t = cellView.model.attributes.attrs.text.text; 
     angular.element(document.getElementById("eee")).scope().setTooltip(t); 
     cellView.model.attributes.attrs.title = t; 
    } 
); 

Der Controller

app.controller("DiagCtrl", function ($scope, getApiDataService) { 
    $scope.lst = []; 
    $scope.toolTip = []; 
    $scope.setTooltip = function (table) { 
     $scope.toolTip = table; 
    } 
    $scope.process_list = function (list) { 
     add_cell(list); 
    } 
}); 

Der {{toolTip}} nicht einmal nach mousever Ereignis gesetzt bekommt. Was ich hier vermisse?

+1

Gibt es ein Tippfehler in der ersten Zeile von html? – Aetherus

+0

Ja das ist ungerade '' '

+0

Danke für die Erwähnung. Ich würde es reparieren. – Shawn

Antwort

1

Die Richtlinie ng-model funktioniert nicht mit <div> Tags. Es funktioniert mit <input> und <select> Tags.

Verwenden Sie die ng-mouseover Direktive, um etwas auf mouseover zu setzen.

<span ng-mouseover="setToolTip('hello')">{{toolTip}}</span > 

JS

$scope.setTooltip = function (table) { 
    $scope.toolTip = table; 
};