Meteor + Angular-Ui-Router中的元标记(即<title>)

时间:2016-06-12 11:42:01

标签: angularjs angular-ui-router angular-meteor

&lt; p&gt;元标记是否可以由Angular-Ui-Router控制或包含在Angular模板中?&lt; / p&gt; &lt; p&gt;在Meteor Angular中,您的应用无法像这样包装:&lt; code&gt;&lt; html ng-app =&#34; app&#34;&gt;&lt; / code&gt ;,它必须至少为&lt;代码&gt;&lt; body ng-app =&#34; app&#34;&gt;&lt; / code&gt;工作 - Meteor负责所有CSS和JS的依赖。因此,您的Angular应用无法访问&lt; code&gt;&lt; head&gt;&lt; / code&gt; (例如,使用&lt; code&gt; $ rootScope&lt; / code&gt;)。&lt; / p&gt; &lt; p&gt;如果没有Angular-Ui-Router,您只需添加(&lt; em&gt; partyDetails.html&lt; / em&gt;):&lt; / p&gt; &LT;预&GT;&LT;代码&GT;&LT; HEAD&GT;     &lt; title&gt;参与方详情{{}}&lt; / title&gt; &LT; /头&GT; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;在您的模板中,与Ui-Router不兼容,我得到:&lt; / p&gt; &lt; pre&gt;&lt; code&gt;错误:无法找到模块&#39; ./ partyDetails.html&#39; 错误:[$ injector:modulerr]由于以下原因无法实例化模块应用程序: [$ injector:nomod]模块&#39; app&#39;不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。 &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;删除&lt; code&gt;&lt; head&gt;&lt; / code&gt;后,它没关系。标签&lt; / p为H. &lt; p&gt;我需要在我的网站上拥有动态标签(如提及&lt;代码&gt;&lt; title&gt;&lt; / title&gt;&lt; / code&gt;但不仅仅!)! - 它实际上是否可能?&lt; / p&gt;

1 个答案:

答案 0 :(得分:0)

我设法使用yasinuslu:blaze-meta。您的组件控制器:

import angular from 'angular';
import angularMeteor from 'angular-meteor';
import uiRouter from 'angular-ui-router';
import { Meteor } from 'meteor/meteor';
import { Meta } from 'meteor/yasinuslu:blaze-meta';

//..

class PartyDetailsCtrl {
    constructor($stateParams, $scope) {
        'ngInject';

        //..

        Meta.config({
            options: {
                title: "Default Title",
                suffix: "Socially",
                separator: " — "
            }
        })

        Meta.set({
          name: 'name',
          property: 'description',
          content: 'Meta description'
        });

        Meta.setTitle("Party Details");

    }
    //..
}
//..

我相信Meta.config({})可以放在您应用的.run块中。希望有所帮助!