我試圖在登錄頁面上添加一個類「bodyLogin」,並將其移除到所有其他頁面。 如何以角度方式完成?如何在角度中設置主體類?
回答
正如Jeremy所建議的,我使用了ng-class,但仍然遇到了LoginPage中$ scope值的自動設置問題以影響正文類。使用Angular的範圍繼承的答案非常簡單。用於實現主體類動態更改的代碼位於此plunkr中。
app.controller('profileController', function($scope) {
$scope.setBodyClass('profile');
});
app.controller('loginController', function($scope) {
$scope.setBodyClass('login');
});
//the controller can use either the bodyService or the app.value bodyClass
//app.controller('bodyController', function($scope, bodyService) {
app.controller('bodyController', function($scope, bodyClass) {
$scope.setBodyClass = function(_bodyCLass) {
$scope.bodyClass = _bodyCLass;
$scope.inLoginPage = ($scope.bodyClass === 'login');
};
});
更新:我改變了普朗克更清晰。普拉克現在顯示你可以使用服務或價值。
我完全和你的例子混淆了。看,你沒有'bodyService'注入'bodyController','setBodyClass'方法如何在其範圍內工作?另外,正如你爲'app'模塊定義了一個值'bodyClass','bodyService'工廠中的局部變量'bodyClass'有什麼用? – nightire
夥計,你的榜樣誤導我們! 'bodyService'完全沒用,甚至根本不工作,你可以刪除整個工廠來證明。這段代碼讓我一遍又一遍地思考......狗屎! – nightire
@nightire,感謝您的評論,我很抱歉,您被這篇文章誤導了。我已經更新了該文章和plunkr,並進行了測試,看看它是否仍然有效。讓我知道它是否適合你。 歡呼聲 –
您可以使用ng-class
指令,該指令允許您根據angularjs表達式動態定義類;你只要把這個指令您body
標籤內,然後更新您的模型來反映頁面的ID
ng-class
的更多信息:http://docs.angularjs.org/api/ng.directive:ngClass
編輯:要注意語法,因爲它在文檔中寫的;最簡單的方法是使用數組語法ng-class="{{ [ myAttribute ] }}"
謝謝領導傑里米。 我仍然遇到一些自動更新/雙向綁定的問題。我在這裏建立了一個蹲點[鏈接](http://plnkr.co/edit/7YCPNERm1PeUXk8AwUQC)。我試圖弄清楚我將如何改變bodyService來影響bodyClass。 –
- 1. 如何在CoreText中設置主角?
- 2. 如何設置自定義主體類
- 3. 在Zend中設置主體類
- 4. 如何在JarSplice中設置主類?
- 5. 如何在構建中設置主類?
- 6. 角度設置類在吳重複
- 7. 如何在本地設置角度?
- 8. 設置網站主體最小寬度
- 9. 如何爲角度2.0中的數字設置區域設置
- 10. 如何使用角度js在主頁面中設置活動菜單
- 11. 我如何設置角度js服務
- 12. 如何設置角度UI選
- 13. 如何設置主體的動態寬度
- 14. 如何在Delphi中設置窗體的寬度和高度
- 15. 如何在角度2中設置ngStyle如果條件匹配
- 16. 如何在角度js fullcalendar中設置日期在ajax響應
- 17. 角度配置塊設置
- 18. 在SpriteKit中設置精靈的角度
- 19. 在Python中設置龜的角度
- 20. 如何設置漸變角度和類型到CAGradientLayer
- 21. 如何將高度設置爲主div?
- 22. 如何在asp.net web窗體中默認設置角色
- 23. 在CSS中設置主體大小?
- 24. 在httpResponse主體中設置字符串
- 25. 在路由主體中設置對象
- 26. 如何在另一個角度2組件中設置變量
- 27. 如何在javascript中設置div的旋轉角度?
- 28. 如何在角度指令中設置插值?
- 29. 如何在ui-select中設置角度的默認值?
- 30. 如何在角度chart.js中設置餅圖顏色
在'body'元素上對'html'元素使用'ng-app',然後使用'ng-class =「{'bodyLogin':isUserLoggedIn}」'和'ng-controller =「LoginController」 ? –
Thansk,我的應用程序中沒有名爲isUserLoggedIn的屬性。當然,我的html上有一個ng-app。 –
這是一個例子。基本的想法是在應用程序中包含'body'元素,並像其他元素一樣在其上設置一個類。 –