2014-09-04 21 views
1

我正在处理与angularJs一起工作的项目,并且我使用Cufon来更改字体。 现在,当控制器加载时,cufon将替换角度表达式,之后angularJs将运行。 这是我的问题。 我希望Cufon在Angular表达式绑定后运行。 任何人都可以帮助我?如何在AngularJS中使用Cufon

在我的HTML页面:

 <span class="input-label" id="lb" >{{s}}</span> 

和JS:

 $scope.s = "hiiii"; 
     Cufon.replace('#lb', {onAfterReplace: Bifon.convert, fontFamily: 'B Titr'}); 

问题就是前角结合发生,变化的Cufón表达式的值。

任何人都可以帮助我吗?

回答

2

你可能想使用一个指令,听元素准备:

HTML:

<div ng-controller="MyController"> 
    <div class="thing" ng-bind="content" cufon-replace-directive> 
     content {{content}} 
    </div> 
</div> 

JS:

function MyController($scope) { 

    $scope.content = [ 
    'param1', 'param2' 
    ]; 
} 

angular.module('myApp', []) 
    .directive('cufonReplaceDirective', function() { 
    return function(scope, element, attrs) { 
     element.ready(function(){ 
      element.html(element.html().replace(/[0-9]/g,"!!!")) 
     }) 
    }; 
}); 

Working example

更新的Cufón :

function MyController($scope) { 

    $scope.content = [ 
    'param1', 'param2' 
    ]; 
} 

angular.module('myApp', []) 
    .directive('cufonReplaceDirective', function() { 
    return function(scope, element, attrs) { 
     scope.content = ["somecontent123"] 
     element.ready(function(){ 
      Cufon.replace('.thing', {onAfterReplace: Bifon.convert, fontFamily: 'B Titr'}); 
     }) 
    }; 
}); 
+0

很好用,cufon真的变老了,他的沉重的js文件 – vknyvz 2015-12-21 22:07:53