2015-02-08 25 views
0

我正在使用framework7和AngularJS制作移动应用程序。我只需要AngularJS进行数据绑定。Framework7 + AngularJS(DOM更改角度无法找到控制器)

当点击与framework7的链接时,div的内容会发生变化。在新的内容中,我设置了一个新的控制器,但角度无法找到它。有没有办法通知角度的DOM已经改变?

您可以在这里下载项目:http://www35.zippyshare.com/v/yDszXHuB/file.html

这DemoController index.html中的作品。它改变了{{title}}的

enter image description here

这DemoControllerAbout在about.html不起作用。它不会改变的{{title}}

enter image description here

enter image description here

+0

做您压缩运行的js代码?如果是的话,您的控制器名称也可能会缩小... – 2015-02-08 18:22:45

+0

不,我没有缩小我的代码。我认为无法找到控制器,因为当angularjs加载时它不在DOM中。 – 2015-02-08 18:35:09

+0

检查脚本src = angularjs后是否要放置脚本src = app.js。它应该很重要,但尝试。 – 2015-02-08 18:43:17

回答

0

你应该试行编制pageinit事件的看法。试试这个

Framework7.prototype.plugins.angular = function(app, params) { 
    function compile(newPage) { 
     try { 
      var $page = $(newPage); 
      var injector = angular.element("[ng-app]").injector(); 
      var $compile = injector.get("$compile"); 
      var $timeout = injector.get("$timeout"); 
      var $scope = injector.get("$rootScope"); 
      $scope = $scope.$$childHead; 
      $timeout(function() { 
       $compile($page)($scope); 
      }) 
     } catch (e) { 
      //console.error("Some Error Occured While Compiling The Template", e); 
     } 
    } 

    return { 
     hooks: { 
      pageInit: function(pageData) { 
       compile(pageData.container); 
      } 
     } 
    } 

}; 

,并设置该插件,而framework7应用

new Framework7({ 
    .... 
    angular : true 
    .... 
}) 

的初始化欲了解更多详情,您可以参阅下面的github回购与完全工作演示 https://github.com/ashvin777/framework7.angular